home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Reference / the cmsp digests ('94-'97) / csmp digest Vol 4 No 015 < prev    next >
Text File  |  1996-10-27  |  138KB  |  3,813 lines

  1. C.S.M.P. Digest             Fri, 25 Oct 96       Volume 4 : Issue 15
  2.  
  3. Today's Topics:
  4.  
  5.         Access fault exception
  6.         Angle brackets as command keys?
  7.         Another weird sound problem
  8.         Converting file handles
  9.         Dialogs and TE commands - bus error?
  10.         Displaying Status of Background Task
  11.         Help! How do a draw a picture offscreen?
  12.         Icons on the desktop?
  13.         Is it MacOS 4.1 or System 4.1?
  14.         Localizing application on the Mac
  15.         Looking for Apple Remote Access API
  16.         Low memory situations & Toolbox
  17.         MacOS Java problems (Was: [Java]:  Refresh (paint()) in MW Java v. Netscape)
  18.         Pascal compiler??
  19.         Sound Manager delays!?
  20.         Strange Pop-Up Problem...
  21.         VIP-C and CodeWarrior 9
  22.         Where is TMON Pro?
  23.         [ANN] CodeWarrior IDE 1.7.1  is available for downloading
  24.         [Q] Reliable notification from completion routine
  25.         is MacOS multiplatform?
  26.         parent class method called instead of overloaded one!
  27.  
  28.  
  29.  
  30. The Comp.Sys.Mac.Programmer Digest is moderated by Mark Aiken
  31. (marka@ee.mcgill.ca).
  32.  
  33. The digest is a collection of article threads from the internet
  34. newsgroups comp.sys.mac.programmer.help, csmp.tools, csmp.misc and
  35. csmp.games. It is designed for people who read news semi-regularly and
  36. want an archive of the discussions.  If you don't know what a
  37. newsgroup is, you probably don't have access to it. Ask your systems
  38. administrator(s) for details. If you don't have access to news, you
  39. may still be able to post messages to the group by using a mail server
  40. like anon.penet.fi (mail help@anon.penet.fi for more information).
  41.  
  42. Each issue of the digest contains one or more sets of articles (called
  43. threads), with each set corresponding to a 'discussion' of a particular
  44. subject.  The articles are not edited; all articles included in this digest
  45. are in their original posted form (as received by our news server at
  46. ee.mcgill.ca).  Article threads are not added to the digest until the last
  47. article added to the thread is at least two weeks old (this is to ensure that
  48. the thread is dead before adding it to the digest).  Article threads that
  49. consist of only one message are generally not included in the digest.
  50.  
  51. The digests can be obtained by email, ftp or through the World Wide Web.
  52.  
  53. If you want to receive the digest by mail, send email to 
  54. majordomo@ee.mcgill.ca with no subject and one of the following commands
  55. as body:
  56.  
  57.     help                        Sends you a summary of commands
  58.     subscribe csmp                      Adds you to the mailing list
  59.     unsubscribe csmp                    Removes you from the list
  60.  
  61. Once you have subscribed, you will automatically receive each new
  62. issue as it is created.
  63.  
  64. Back issues are available by ftp from Info-Mac mirror sites in the
  65. per/csmp subdirectory, e.g.
  66.  
  67.   ftp://sumex-aim.stanford.edu/info-mac/per/csmp/
  68.  
  69. The contents of all back issues can be searched by accessing the
  70. following URL, courtesy of Andrew Barry (ajbarry@ozemail.com.au):
  71.  
  72.     http://marvin.stattech.com.au/search.html
  73.  
  74. They can also be searched through the following URLs, thanks to
  75. Tim Tuck (Tim.Tuck@sensei.com.au):
  76.  
  77.     http://wais.sensei.com.au/searchform.html
  78.     wais://wais.sensei.com.au:210/csmp?
  79.  
  80. -------------------------------------------------------
  81.  
  82. From kurisuto@babel.ling.upenn.edu (Sean Crist)
  83. Subject: Access fault exception
  84. Date: 9 Oct 1996 23:52:50 GMT
  85. Organization: University of Pennsylvania
  86.  
  87. I'm just learning C and the CodeWarrior environment after years of Think
  88. Pascal.  Can someone knowledgeable with CW please help me with this problem?
  89.  
  90. While using the debugger to step through my code, I get an alert "Access
  91. fault exception".  I searched several of the online manuals and could find
  92. no explanation of this message.  Anyway, after I dismiss the alert, the
  93. debugger resets the execution of the program.  Then, shortly after, the
  94. machine crashes and I have to reboot (cursor freezes, sometimes with a few
  95. prelimary jumps into Macsbug).
  96.  
  97. This first happened deep in my code at a call to GetNewDialog(), so I tried
  98. putting an Alert() as the very first thing my program does; Alert() causes
  99. the same problem.  The problem is 100% replicable.
  100.  
  101. What does this error mean, and what is the fix?
  102.  
  103. Thank you.
  104.  
  105.   \/ __ __    _\_     --Sean Crist  (kurisuto@unagi.cis.upenn.edu)
  106.  ---  |  |    \ /     For a free copy of the Bill of Rights, finger
  107.   _| ,| ,|   -----    this account.  It's also available through
  108.   _| ,| ,|    [_]     my homepage:
  109.    |  |  |    [_]     http://www.ling.upenn.edu/~kurisuto/
  110.  
  111.  
  112. +++++++++++++++++++++++++++
  113.  
  114. From Patrick Bakx <patrick.bakx@tractebel.be>
  115. Date: Thu, 10 Oct 1996 08:53:12 +0200
  116. Organization: Tractebel
  117.  
  118. Hi Sean,
  119. Are you initializing the Mac toolbox ? At the start of any Mac program
  120. you must initialize the various managers. Any Mac example program will
  121. show you how to do this.
  122.  
  123. Cheers,
  124. Patrick
  125.  
  126. +++++++++++++++++++++++++++
  127.  
  128. From jl14@wi70.rz.uni-karlsruhe.de (Wiesmann)
  129. Date: 12 Oct 1996 09:18:16 GMT
  130. Organization: University of Karlsruhe, Germany
  131.  
  132. You are using non-valid pointers, you try to access memory somewhere in nirwana, etc.
  133.  
  134. Check your pointers!! May be that a function returned NULL instead of a valid address.
  135.  
  136. Hartwig Wiesmann
  137.  
  138.  
  139.  
  140. ---------------------------
  141.  
  142. From mmucker@airmail.net (Matthew Mucker)
  143. Subject: Angle brackets as command keys?
  144. Date: Wed, 25 Sep 1996 00:43:34 +0500
  145. Organization: Internet America
  146.  
  147. I would like to use the greater than and less than symbols as command key
  148. equivalents for 'next' and 'previous' in my app.
  149.  
  150. It, uh, doesn't work.  Anybody ever tried this?  I know that it means
  151. sacrificing the command-period for cancel, but that's okay in my app.
  152.  
  153. Thanks to all,
  154.  
  155.    -Matt
  156.  
  157. -- 
  158. Life is 10% what happens to you, and 90% how you respond to what happens to you.
  159.  
  160. +++++++++++++++++++++++++++
  161.  
  162. From eanewcombe@aol.com (EANewcombe)
  163. Date: 28 Sep 1996 06:41:44 -0400
  164. Organization: America Online, Inc. (1-800-827-6364)
  165.  
  166. In "Angle brackets as command keys?" mmucker@airmail.net  asks:
  167.  
  168. I would like to use the greater than and less than symbols as command key
  169. equivalents for 'next' and 'previous' in my app.
  170.  
  171. It, uh, doesn't work.  Anybody ever tried this?  I know that it means
  172. sacrificing the command-period for cancel, but that's okay in my app.
  173.  
  174. Thanks to all,
  175.  
  176.    -Matt
  177.  
  178. The cause of your problem is that the shift key seems to
  179. be ignored when the command key is pressed, command >
  180. becomes command period and command < becomes command comma. One way around
  181. this is to check the
  182. key pressed  and converting it before calling MenuKey.
  183.  
  184. example: 
  185. key = (char) ( event.message & charCodeMask );
  186. if (key == '.')    // ***
  187.     key = '>';      // ***
  188. if (key == ',')   // ***
  189.     key = '<';     // ***   
  190. result = MenuKey( key );
  191.  
  192. where event is the EventRecord returned from 
  193. Get/WaitNextEvent.
  194.  
  195. Of course now you've really sacrificed command period
  196. but your user might prefer this (2 keys to press
  197. simultaneously rather than 3). You have a problem
  198. if the user's keyboard does not happen to have >
  199. above period and < above comma so this is not
  200. a global solution.
  201.  
  202. hope this helps, Alex
  203.  
  204. +++++++++++++++++++++++++++
  205.  
  206. From mmucker@airmail.net (Matthew Mucker)
  207. Date: Sat, 05 Oct 1996 22:56:30 +0500
  208. Organization: Internet America
  209.  
  210. In article <52ivd8$4oj@newsbf02.news.aol.com>, eanewcombe@aol.com
  211. (EANewcombe) wrote:
  212.  
  213. > I would like to use the greater than and less than symbols as command key
  214. > equivalents for 'next' and 'previous' in my app.
  215.  
  216. > The cause of your problem is that the shift key seems to
  217. > be ignored when the command key is pressed, command >
  218. > becomes command period and command < becomes command comma. One way around
  219. > this is to check the
  220. > key pressed  and converting it before calling MenuKey.
  221. > Of course now you've really sacrificed command period
  222. > but your user might prefer this (2 keys to press
  223. > simultaneously rather than 3). You have a problem
  224. > if the user's keyboard does not happen to have >
  225. > above period and < above comma so this is not
  226. > a global solution.
  227.  
  228. That last point is a good one.  I don't like the idea of displaying < and
  229. > as keyboard equivalents on the menu, and then checking for comma and
  230. period internally.  But that seems to be the only solution to the
  231. problem.  Your last point is a good one, though.  I'll have to ponder that
  232. one...
  233.  
  234. Thanks for the input.
  235.  
  236. -Matt
  237.  
  238. -- 
  239. Life is 10% what happens to you, and 90% how you respond to what happens to you.
  240.  
  241. +++++++++++++++++++++++++++
  242.  
  243. From Maf Vosburgh <maf@mmcorp.com>
  244. Date: 11 Oct 1996 15:10:02 GMT
  245. Organization: MultiMedia Corporation
  246.  
  247. In article <mmucker-0510962256300001@fw2-18.ppp.iadfw.net> Matthew
  248. Mucker, mmucker@airmail.net writes:
  249. >That last point is a good one.  I don't like the idea of displaying < and
  250. >> as keyboard equivalents on the menu, and then checking for comma and
  251. >period internally.  But that seems to be the only solution to the
  252. >problem.  Your last point is a good one, though.  I'll have to ponder that
  253. >one...
  254. >
  255.  
  256. What I did was store "." and "," in the menu resource, and then I wrote a
  257. custom MDEF that looks for those chars and draws them as '<' and '>'.
  258. This technique is also handly for command +.
  259.  
  260.  
  261. Maf
  262.  
  263.  
  264. ---------------------------
  265.  
  266. From jstiles@uclink4.berkeley.edu (John Stiles)
  267. Subject: Another weird sound problem
  268. Date: Sat, 05 Oct 1996 23:50:43 -0800
  269. Organization: Data Communication and Newtorking Services
  270.  
  271. OK, thanks to the numerous replies of the members of c.s.m.p.g, I've got
  272. my sound code working great!
  273.  
  274. Almost. It crashes PowerBook 5300's consistently. For some reason, it
  275. works on all desktop Power Macs but I've had lots of users saying their
  276. 5300 dies instantly when they open up the application.
  277.  
  278. Here's my current sound code. Much abbreviated of course, because the
  279. algorithm isn't important in this case (is it?). FWIW, this code worked
  280. when I used the SndPlayDoubleBuffer technique, but I don't know if it
  281. worked quite as fluidly.
  282.  
  283. void InitSound( void ) 
  284. {
  285.    SndCommand command;
  286.    SndCallBackUPP callBackUPP = NewSndCallBackProc( SoundCallBack );
  287.    
  288.    SndNewChannel( &sndChannel, sampledSynth, initMono, callBackUPP );
  289.  
  290.    sndHeader = (SoundHeaderPtr) NewPtrClear( sizeof( SoundHeader ) +
  291. SOUND_BUFSIZE );
  292.    sndHeader->samplePtr    = nil;
  293.    sndHeader->length       = SOUND_BUFSIZE;
  294.    sndHeader->sampleRate      = SoundRate << 16;
  295.    sndHeader->baseFrequency   = kMiddleC;
  296.    
  297.    command.cmd    = callBackCmd;
  298.    command.param1 = 0;
  299.    command.param2 = (long)LMGetCurrentA5();
  300.    
  301.    SoundCallBack( sndChannel, &command ); // start the ball rolling
  302. }
  303.  
  304. pascal void SoundCallBack( SndChannelPtr chan, SndCommand *command )
  305. {
  306.    int i;
  307.    SndCommand myCommand;
  308.    long myA5 = SetA5( command->param2 ); // set up A5 world
  309.  
  310.    if( soundIsOn )
  311.    {
  312.      // sndHeader->sampleArea[i] = stuff;
  313.      // fill up the sound buffer here     
  314.    }
  315.     else
  316.     {
  317.       memset( sndHeader->sampleArea, 0x80, SOUND_BUFSIZE );
  318.     }
  319.     
  320.     sndHeader->sampleRate = SoundRate << 16; // <-- the soundrate can
  321. change dynamically
  322.     
  323.    myCommand.cmd = bufferCmd;
  324.    myCommand.param1 = 0;
  325.    myCommand.param2 = (long) sndHeader;
  326.    SndDoImmediate( chan, &myCommand );  // buffer the sound
  327.    SndDoCommand( chan, command, true ); // callback again
  328.  
  329.     SetA5( myA5 ); // close up A5 world
  330. }
  331.  
  332. Note the SndDoCommand a few lines up. It is calling itself back once
  333. again. Therefore the sound should loop continuously.
  334.  
  335. Any ideas, folks? Did I make any obviously dumb blunders?
  336.  
  337. *Stiles
  338.  
  339. +++++++++++++++++++++++++++
  340.  
  341. From Jackson Software Development <development@jacksoncorp.com>
  342. Date: 8 Oct 1996 14:20:25 GMT
  343. Organization: Jackson Software
  344.  
  345. In article <jstiles-0710962304140001@105.0.102.32.128.in-addr.arpa> John
  346. Stiles, jstiles@uclink4.berkeley.edu writes:
  347. >Note the SndDoCommand a few lines up. It is calling itself back once
  348. >again. Therefore the sound should loop continuously.
  349.  
  350. I had a similar problem that only showed up when Quicktime was installed.
  351. I fixed it by not actually calling SndDoCommand in the callback routine,
  352. but
  353. instead setting a variable in the callback and then checking the variable
  354. in
  355. my event loop and restarting the sound there. As long as the loop was
  356. greater than about 50 milliseconds it worked without clicking.
  357.  
  358. I have read that SndDoCommand can be called at interrupt time depending
  359. on the command, and that the bufferCmd was one of those commands, but
  360. it didn't work for me when Quicktime was installed.
  361.  
  362. Darrin
  363.  
  364. +++++++++++++++++++++++++++
  365.  
  366. From franke1@llnl.gov (Norman Franke)
  367. Date: Tue, 08 Oct 1996 10:22:41 -0700
  368. Organization: Lawrence Livermore National Laboratory
  369.  
  370. In article <jstiles-0710962304140001@105.0.102.32.128.in-addr.arpa>,
  371. jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  372.  
  373. > Almost. It crashes PowerBook 5300's consistently. For some reason, it
  374. > works on all desktop Power Macs but I've had lots of users saying their
  375. > 5300 dies instantly when they open up the application.
  376. > pascal void SoundCallBack( SndChannelPtr chan, SndCommand *command )
  377.  
  378. > {
  379. >     sndHeader->sampleRate = SoundRate << 16; // <-- the soundrate can
  380. > change dynamically
  381. > }
  382.  
  383. I think this is your problem. You can only call SndDoImmediate or
  384. SndDoCommand with commands that do not move memory. Changing the sampling
  385. rate can cause memory movement and allocation as it opens components to
  386. perform sample rate conversion. If you want to change any parameters, I'd
  387. recommend some other method.
  388.  
  389. -- 
  390. Norman Franke
  391. franke1@llnl.gov
  392.  
  393. +++++++++++++++++++++++++++
  394.  
  395. From reekes@apple.com (Jim Reekes)
  396. Date: Tue, 08 Oct 1996 19:30:57 -0700
  397. Organization: Apple Computer, Inc.
  398.  
  399. In article <jstiles-0810961619440001@105.0.102.32.128.in-addr.arpa>,
  400. jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  401.  
  402. > In article <53dnv9$2lb@kirin.wwa.com>, Jackson Software Development
  403. > <development@jacksoncorp.com> wrote:
  404. > > In article <jstiles-0710962304140001@105.0.102.32.128.in-addr.arpa> John
  405. > > Stiles, jstiles@uclink4.berkeley.edu writes:
  406. > > >Note the SndDoCommand a few lines up. It is calling itself back once
  407. > > >again. Therefore the sound should loop continuously.
  408. > > 
  409. > > I had a similar problem that only showed up when Quicktime was installed.
  410. > > I fixed it by not actually calling SndDoCommand in the callback routine,
  411. > > but
  412. > > instead setting a variable in the callback and then checking the variable
  413. > > in
  414. > > my event loop and restarting the sound there. As long as the loop was
  415. > > greater than about 50 milliseconds it worked without clicking.
  416. > > 
  417. > > I have read that SndDoCommand can be called at interrupt time depending
  418. > > on the command, and that the bufferCmd was one of those commands, but
  419. > > it didn't work for me when Quicktime was installed.
  420. > Oh... great!! This is news to me. Oh well. I am not sure how well this
  421. > technique will work in my code--I am currently generating about 10ms of
  422. > sound at a time--but I can hack it out.
  423.  
  424. I use the same basic code as you. Mine has never crashed. QuickTime uses
  425. the same idea as well. It doesn't crash either. The only thing I noticed
  426. was that you never initialized your sndChannel to nil (and don't allocate
  427. your own).
  428.  
  429. > Thanks. I guess THIS is why SndPlayDoubleBuffer is important...!
  430.  
  431. No, SndPlayDoubleBuffer() is only important for one reason. It was
  432. designed for SndStartFilePlay(). Other than that, the bufferCmd and
  433. callBackCmd sequence are the same. The later provides more control and
  434. flexibility. Both internally use the same code to play the sou
  435. +++++++++++++++++++++++++++
  436.  
  437. From reekes@apple.com (Jim Reekes)
  438. Date: Tue, 08 Oct 1996 19:30:57 -0700
  439. Organization: Apple Computer, Inc.
  440.  
  441. In article <jstiles-0810961619440001@105.0.102.32.128.in-addr.arpa>,
  442. jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  443.  
  444. > In article <53dnv9$2lb@kirin.wwa.com>, Jackson Software Development
  445. > <development@jacksoncorp.com> wrote:
  446. > > In article <jstiles-0710962304140001@105.0.102.32.128.in-addr.arpa> John
  447. > > Stiles, jstiles@uclink4.berkeley.edu writes:
  448. > > >Note the SndDoCommand a few lines up. It is calling itself back once
  449. > > >again. Therefore the sound should loop continuously.
  450. > > 
  451. > > I had a similar problem that only showed up when Quicktime was installed.
  452. > > I fixed it by not actually calling SndDoCommand in the callback routine,
  453. > > but
  454. > > instead setting a variable in the callback and then checking the variable
  455. > > in
  456. > > my event loop and restarting the sound there. As long as the loop was
  457. > > greater than about 50 milliseconds it worked without clicking.
  458. > > 
  459. > > I have read that SndDoCommand can be called at interrupt time depending
  460. > > on the command, and that the bufferCmd was one of those commands, but
  461. > > it didn't work for me when Quicktime was installed.
  462. > Oh... great!! This is news to me. Oh well. I am not sure how well this
  463. > technique will work in my code--I am currently generating about 10ms of
  464. > sound at a time--but I can hack it out.
  465.  
  466. I use the same basic code as you. Mine has never crashed. QuickTime uses
  467. the same idea as well. It doesn't crash either. The only thing I noticed
  468. was that you never initialized your sndChannel to nil (and don't allocate
  469. your own).
  470.  
  471. > Thanks. I guess THIS is why SndPlayDoubleBuffer is important...!
  472.  
  473. No, SndPlayDoubleBuffer() is only important for one reason. It was
  474. designed for SndStartFilePlay(). Other than that, the bufferCmd and
  475. callBackCmd sequence are the same. The later provides more control and
  476. flexibility. Both internally use the same code to play the sound, and
  477. therefore neither are more effecient.
  478.  
  479. -- 
  480. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  481.                             |        Sound Manager Expert
  482. Apple Computer, Inc.        | "All opinions expressed are mine, and
  483. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  484. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  485.  
  486. +++++++++++++++++++++++++++
  487.  
  488. From jstiles@uclink4.berkeley.edu (John Stiles)
  489. Date: Tue, 08 Oct 1996 16:19:44 -0800
  490. Organization: University of California, Berkeley
  491.  
  492. In article <53dnv9$2lb@kirin.wwa.com>, Jackson Software Development
  493. <development@jacksoncorp.com> wrote:
  494.  
  495. > In article <jstiles-0710962304140001@105.0.102.32.128.in-addr.arpa> John
  496. > Stiles, jstiles@uclink4.berkeley.edu writes:
  497. > >Note the SndDoCommand a few lines up. It is calling itself back once
  498. > >again. Therefore the sound should loop continuously.
  499. > I had a similar problem that only showed up when Quicktime was installed.
  500. > I fixed it by not actually calling SndDoCommand in the callback routine,
  501. > but
  502. > instead setting a variable in the callback and then checking the variable
  503. > in
  504. > my event loop and restarting the sound there. As long as the loop was
  505. > greater than about 50 milliseconds it worked without clicking.
  506. > I have read that SndDoCommand can be called at interrupt time depending
  507. > on the command, and that the bufferCmd was one of those commands, but
  508. > it didn't work for me when Quicktime was installed.
  509.  
  510. Oh... great!! This is news to me. Oh well. I am not sure how well this
  511. technique will work in my code--I am currently generating about 10ms of
  512. sound at a time--but I can hack it out.
  513.  
  514. Thanks. I guess THIS is why SndPlayDoubleBuffer is important...!
  515.  
  516. *Stiles
  517. .
  518. .
  519. .
  520. .
  521. .
  522. .
  523. .
  524. .
  525. .
  526. .
  527. .
  528. .
  529. ...... trying to confound his stupid NNTP server
  530.  
  531. +++++++++++++++++++++++++++
  532.  
  533. From jstiles@uclink4.berkeley.edu (John Stiles)
  534. Date: Tue, 08 Oct 1996 21:38:12 -0800
  535. Organization: University of California, Berkeley
  536.  
  537. First off... wow!! Jim Reekes! I am talking to God. Jim, the new Sound
  538. Manager is awesome, just so you know. Never thought I'd get a reply from
  539. the author of the Sound Manager himself...!
  540.  
  541. > > Oh... great!! This is news to me. Oh well. I am not sure how well this
  542. > > technique will work in my code--I am currently generating about 10ms of
  543. > > sound at a time--but I can hack it out.
  544. > I use the same basic code as you. Mine has never crashed. QuickTime uses
  545. > the same idea as well. It doesn't crash either. The only thing I noticed
  546. > was that you never initialized your sndChannel to nil (and don't allocate
  547. > your own).
  548.  
  549. Actually, I was doing this when I was defining the sndChannel
  550. (SndChannelPtr sndChannel = nil;). But that didn't seem to be the cause at
  551. all.
  552.  
  553. One thing I noticed, but I am unsure if it is the problem, was that I was
  554. defining the callback function as:
  555. pascal void SoundCallBack( SndChannelPtr chan, SndCommand *command )
  556.  
  557. Shouldn't it be:
  558. pascal void SoundCallBack( SndChannelPtr chan, SndCommand command )
  559. ...?
  560.  
  561. However, I did rewrite it this way, but it didn't seem to have any major
  562. effect on the program on my Mac at all. This might fix the PowerBook
  563. problem, but I'm not sure about that, because I don't have a test
  564. PowerBook to work with. (Isn't that just a pain?!)
  565.  
  566. > > Thanks. I guess THIS is why SndPlayDoubleBuffer is important...!
  567. > No, SndPlayDoubleBuffer() is only important for one reason. It was
  568. > designed for SndStartFilePlay(). Other than that, the bufferCmd and
  569. > callBackCmd sequence are the same. The later provides more control and
  570. > flexibility. Both internally use the same code to play the sound, and
  571. > therefore neither are more effecient.
  572.  
  573. Oops. Guess I did a little extra work then, because I just re-implemented
  574. my old SndPlayDoubleBuffer solution. I mean, it worked, right? And now, to
  575. handle a possible change in SoundRate, the code simply disposes the sound
  576. channel whenever the rate changes and makes a new one. Simple, and
  577. inefficient, but the SoundRate will never change unless the user opens up
  578. a customization dialog anyway (thereby doing something like
  579. SndDisposeChannel/SndNewChannel won't cause a speed hit).
  580.  
  581. Say, though, I have one big Sound Manager question for you. If I turn on
  582. Virtual Memory, the sound code I have listed above starts to sound awful!
  583. The sound latency is quite unacceptable. It is as if it were buffering
  584. several times in a row rather than just once. You see, the code is
  585. actually a square wave generator, and the frequency and volume variables
  586. change over time. But the changes are choppy and rough when Virtual Memory
  587. is on, yet clean and smooth when VM is off. I have done a million
  588. different things to avoid it, so I have to conclude that it's a Sound
  589. Manager bug (or hidden feature). Help!
  590.  
  591. (As a side note, the entire reason I ever bothered to implement this
  592. gosh-darn callback code which I just ripped out was to try to avoid this
  593. bug/hidden feature, but it didn't fix the problem at all!)
  594.  
  595. *Stiles
  596.  
  597. +++++++++++++++++++++++++++
  598.  
  599. From reekes@apple.com (Jim Reekes)
  600. Date: Wed, 09 Oct 1996 16:19:27 -0700
  601. Organization: Apple Computer, Inc.
  602.  
  603. In article <jstiles-0810962138120001@105.0.102.32.128.in-addr.arpa>,
  604. jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  605.  
  606. > Say, though, I have one big Sound Manager question for you. If I turn on
  607. > Virtual Memory, the sound code I have listed above starts to sound awful!
  608. > The sound latency is quite unacceptable. It is as if it were buffering
  609. > several times in a row rather than just once. You see, the code is
  610. > actually a square wave generator, and the frequency and volume variables
  611. > change over time. But the changes are choppy and rough when Virtual Memory
  612. > is on, yet clean and smooth when VM is off. I have done a million
  613. > different things to avoid it, so I have to conclude that it's a Sound
  614. > Manager bug (or hidden feature). Help!
  615.  
  616. Uh huh. So don't turn on VM. It's not a Sound Mgr bug. It's just a
  617. conflict of interest between real time services and VM.
  618.  
  619. > (As a side note, the entire reason I ever bothered to implement this
  620. > gosh-darn callback code which I just ripped out was to try to avoid this
  621. > bug/hidden feature, but it didn't fix the problem at all!)
  622.  
  623. Yeah, life as a programmer!
  624.  
  625. Jim
  626.  
  627. -- 
  628. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  629.                             |        Sound Manager Expert
  630. Apple Computer, Inc.        | "All opinions expressed are mine, and
  631. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  632. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  633.  
  634. +++++++++++++++++++++++++++
  635.  
  636. From reekes@apple.com (Jim Reekes)
  637. Date: Thu, 10 Oct 1996 15:50:44 -0700
  638. Organization: Apple Computer, Inc.
  639.  
  640. In article <jstiles-0910962223280001@105.0.102.32.128.in-addr.arpa>,
  641. jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  642.  
  643. > In article <reekes-0910961619270001@reekji.apple.com>, reekes@apple.com
  644. > (Jim Reekes) wrote:
  645. > > Uh huh. So don't turn on VM. It's not a Sound Mgr bug. It's just a
  646. > > conflict of interest between real time services and VM.
  647. > Oh, come on, great answer!! I don't use VM as a rule--32MB is quite
  648. > enough, thanks--but I have many users that do use VM. There's got to be a
  649. > way to make it smoother than this! And if you try to tell me that's a
  650. > feature, I'll laugh *really* hard.
  651. > True, I know, it's hard to call a routine 100 times per second when you're
  652. > paging in and out from the hard disk. But I don't think that's an
  653. > acceptable excuse for this Sound Manager behaviour. And FWIW, I can run
  654. > the program with 33MB of virtual memory (on a 32MB system) with system
  655. > memory not even 50% full, and the same problem surfaces.
  656. > I'd really like to be able to run my system at a 33MB virtual memory
  657. > setting, actually, so I can take advantage of the reduced application
  658. > footprint this provides. But this is the main reason that I can't!
  659.  
  660. I'm not going into this one, again. I'll give you this simple clue. You
  661. cannot page during a sound hardware interrupt. Therefore I must defer the
  662. actual function until a time that paging is safe, using the call
  663. DeferUserFn() to VM. VM then owns this function and will call it when it
  664. decides it's safe. This happens at some time later, when all SCSI activity
  665. is clear. At this point in time the hardware interrupt handler calls into
  666. the Sound Mgr for more data to satisfy the hardware request. It's exactly
  667. like I had said, "It's not a Sound Mgr bug. It's just a conflict of
  668. interest between real time services and VM." If you'll have noticed, you
  669. cannot use QuickTime and VM either. For one thing, the SCSI bus is really
  670. busy while trying to play a movie and therefore sound is held off for
  671. longer periods of time.
  672.  
  673. Jim
  674.  
  675. -- 
  676. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  677.                             |        Sound Manager Expert
  678. Apple Computer, Inc.        | "All opinions expressed are mine, and
  679. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  680. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  681.  
  682. +++++++++++++++++++++++++++
  683.  
  684. From al@crucible.powertools.com (Al Evans)
  685. Date: 11 Oct 1996 07:42:19 -0500
  686. Organization: Powertools, Austin, Texas
  687.  
  688. In article <reekes-1010961550440001@reekji.apple.com>,
  689. Jim Reekes <reekes@apple.com> wrote:
  690.  
  691. >It's exactly
  692. >like I had said, "It's not a Sound Mgr bug. It's just a conflict of
  693. >interest between real time services and VM." 
  694.  
  695. No, Jim. It's a conflict of interest between real time services and VM
  696. *IN THE MACOS*. And the same kind of comment goes for your response in
  697. another thread, which was along the lines of "your problem is caused
  698. by the sound-hardware buffer size, about which I can do nothing."
  699.  
  700. A counter-example: I can crank up enough movies on my BeBox to start
  701. VM thrashing. Within a couple of seconds, it will settle down to play
  702. them ALL, with reasonable performance, hitting the disk continuously.
  703.  
  704. The conflict of interest is not inherent, it is due to the failure of
  705. Apple to redesign their operating system. And -- perhaps unfortunately --
  706. since you're a well-known Apple representative, your implication that
  707. these deficiencies are just "facts of life" will be widely perceived
  708. as indicating Apple's continued unwillingness or inability to do 
  709. anything about them.
  710.  
  711. It seems to me that you guys should at least cop a line from Metrowerks:
  712. "Apple Computer apologizes for the inconvenience."
  713.  
  714. Not quite ready to start expecting less from Apple....
  715.  
  716.                     --Al Evans--
  717. -- 
  718. |||| Al Evans -- al@powertools.com -- proud of Graphic Elements Release 3 ||||
  719. ====  A new standard for high-performance interactive Macintosh graphics  ====
  720. ====         Available from mac.archive.umich.edu and mirrors in          ====
  721. ||||        /mac/development/libraries/graphicelements3.0.sit.hqx         ||||
  722.  
  723. +++++++++++++++++++++++++++
  724.  
  725. From jstiles@uclink4.berkeley.edu (John Stiles)
  726. Date: Wed, 09 Oct 1996 22:23:26 -0800
  727. Organization: University of California, Berkeley
  728.  
  729. In article <reekes-0910961619270001@reekji.apple.com>, reekes@apple.com
  730. (Jim Reekes) wrote:
  731.  
  732. > In article <jstiles-0810962138120001@105.0.102.32.128.in-addr.arpa>,
  733. > jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  734. > > Say, though, I have one big Sound Manager question for you. If I turn on
  735. > > Virtual Memory, the sound code I have listed above starts to sound awful!
  736. > > The sound latency is quite unacceptable. It is as if it were buffering
  737. > > several times in a row rather than just once. You see, the code is
  738. > > actually a square wave generator, and the frequency and volume variables
  739. > > change over time. But the changes are choppy and rough when Virtual Memory
  740. > > is on, yet clean and smooth when VM is off. I have done a million
  741. > > different things to avoid it, so I have to conclude that it's a Sound
  742. > > Manager bug (or hidden feature). Help!
  743. > Uh huh. So don't turn on VM. It's not a Sound Mgr bug. It's just a
  744. > conflict of interest between real time services and VM.
  745.  
  746. Oh, come on, great answer!! I don't use VM as a rule--32MB is quite
  747. enough, thanks--but I have many users that do use VM. There's got to be a
  748. way to make it smoother than this! And if you try to tell me that's a
  749. feature, I'll laugh *really* hard.
  750.  
  751. True, I know, it's hard to call a routine 100 times per second when you're
  752. paging in and out from the hard disk. But I don't think that's an
  753. acceptable excuse for this Sound Manager behaviour. And FWIW, I can run
  754. the program with 33MB of virtual memory (on a 32MB system) with system
  755. memory not even 50% full, and the same problem surfaces.
  756.  
  757. I'd really like to be able to run my system at a 33MB virtual memory
  758. setting, actually, so I can take advantage of the reduced application
  759. footprint this provides. But this is the main reason that I can't!
  760.  
  761. > > (As a side note, the entire reason I ever bothered to implement this
  762. > > gosh-darn callback code which I just ripped out was to try to avoid this
  763. > > bug/hidden feature, but it didn't fix the problem at all!)
  764. > Yeah, life as a programmer!
  765.  
  766. OK, OK, I know it sucks. But there must be a way around this blatant flaw,
  767. and if anyone knows it, it's you. So really, what's the secret?!?
  768.  
  769. *Stiles
  770.  
  771. +++++++++++++++++++++++++++
  772.  
  773. From jstiles@uclink4.berkeley.edu (John Stiles)
  774. Date: Thu, 10 Oct 1996 19:27:01 -0800
  775. Organization: University of California, Berkeley
  776.  
  777. > I'm not going into this one, again. I'll give you this simple clue. You
  778. > cannot page during a sound hardware interrupt. Therefore I must defer the
  779. > actual function until a time that paging is safe, using the call
  780. > DeferUserFn() to VM. VM then owns this function and will call it when it
  781. > decides it's safe. This happens at some time later, when all SCSI activity
  782. > is clear. At this point in time the hardware interrupt handler calls into
  783. > the Sound Mgr for more data to satisfy the hardware request. It's exactly
  784. > like I had said, "It's not a Sound Mgr bug. It's just a conflict of
  785. > interest between real time services and VM." If you'll have noticed, you
  786. > cannot use QuickTime and VM either. For one thing, the SCSI bus is really
  787. > busy while trying to play a movie and therefore sound is held off for
  788. > longer periods of time.
  789.  
  790. OK, I wasn't fully clear on the issue. I guess nothing can be done without
  791. rewriting Virtual Memory. Well, hopefully this doesn't mean Copland will
  792. maul my sound code. Thanks for replying, at least, and clarifying the
  793. issue.
  794.  
  795. Now if only there was a way to get VM to call the function more often...
  796. but that's not your department and I know it!...
  797.  
  798. *Stiles
  799. .
  800. .
  801. .
  802. .
  803. .
  804. .
  805. .
  806. .
  807. .
  808. .
  809. .
  810. .
  811. .
  812. .
  813. ..... who hates the campus NNTP server that forces him to waste this space
  814.  
  815.  
  816. ---------------------------
  817.  
  818. From raub@kushana.aero.ufl.edu (Mauricio Tavares)
  819. Subject: Converting file handles
  820. Date: 9 Oct 1996 15:26:21 GMT
  821. Organization: University of Florida
  822.  
  823.     Let's say that I used the Mac file routines to find where a file
  824. is (drive/directory).  How can I change that into something fread() can
  825. use?
  826.  
  827. -- 
  828.  ===========================+==========================================
  829. | Mauricio Tavares          | "We will attack...                       |
  830. | raub@kushana.aero.ufl.edu |  ...under the cover of daylight!" Rimmer |
  831.  ===========================+==========================================
  832.  
  833. +++++++++++++++++++++++++++
  834.  
  835. From jstiles@uclink4.berkeley.edu (John Stiles)
  836. Date: Thu, 10 Oct 1996 15:27:52 -0800
  837. Organization: University of California, Berkeley
  838.  
  839. >         Let's say that I used the Mac file routines to find where a file
  840. > is (drive/directory).  How can I change that into something fread() can
  841. > use?
  842.  
  843. Convert the FSSpec you get to an absolute pathname. I know it's lame, but
  844. I haven't found a better way yet. Here's a routine that has always worked
  845. for that purpose; I didn't write it, but it's useful:
  846.  
  847. short FullPathname( FSSpec *in, Str255 out )
  848. {
  849.    Str255      dirName;
  850.    DirInfo     dirInfo;
  851.    OSErr    err;
  852.  
  853.    out[0] = dirName[0] = 0;
  854.  
  855.    dirInfo.ioNamePtr = dirName;
  856.    dirInfo.ioDrParID = in->parID;
  857.  
  858.    do
  859.    {
  860.       dirInfo.ioVRefNum = in->vRefNum;
  861.       dirInfo.ioFDirIndex = -1;           // -1 means use ioDrDirIDä
  862.       dirInfo.ioDrDirID = dirInfo.ioDrParID;
  863.  
  864.       err = PBGetCatInfoSync( (CInfoPBPtr) &dirInfo );
  865.  
  866.       if( err == noErr )
  867.       {
  868.          dirName[ ++dirName[0] ] = ':';
  869.  
  870.          if( dirName[0] + out[0] > 255 )
  871.          {
  872.             err = bdNamErr;            // too big to eat!
  873.          }
  874.          else
  875.          {
  876.             LPstrcat( dirName, out );
  877.             LPstrcpy( out, dirName );
  878.          }
  879.       }
  880.    } 
  881.    while( (dirInfo.ioDrDirID != fsRtDirID) && (err == noErr) );
  882.    
  883.    if( dirName[0] + in->name[0] > 255 )
  884.    {
  885.       err = bdNamErr;
  886.    }
  887.    else
  888.    {
  889.       LPstrcat( out, in->name );
  890.    }
  891.    
  892.    return err;
  893. }
  894.  
  895. *Stiles
  896.  
  897. +++++++++++++++++++++++++++
  898.  
  899. From uzs90z@uni-bonn.de (Michael Schuerig)
  900. Date: Fri, 11 Oct 1996 16:11:38 +0200
  901. Organization: RHRZ - University of Bonn (Germany)            
  902.  
  903. John Stiles <jstiles@uclink4.berkeley.edu> wrote:
  904.  
  905. > >         Let's say that I used the Mac file routines to find where a file
  906. > > is (drive/directory).  How can I change that into something fread() can
  907. > > use?
  908. > Convert the FSSpec you get to an absolute pathname. I know it's lame, but
  909. > I haven't found a better way yet. Here's a routine that has always worked
  910. > for that purpose; I didn't write it, but it's useful:
  911.  
  912. DON'T! There is a better way. If you're using CodeWarrior look at
  913.  
  914. :Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL
  915. Mac:FSp_fopen:
  916.  
  917. where you will find the definition for the following function
  918.  
  919. FILE * FSp_fopen(ConstFSSpecPtr spec, const char * open_mode)
  920.  
  921. If you're using some other compiler/library use the following function
  922. from the Mac Programming FAQ maintained by Chris K. Thompson.
  923.  
  924.  
  925. 4.22) Q: How do I use fopen or other ANSI C I/O functions with files the
  926. user
  927. has selected using StandardGetFile? 
  928.  
  929. A: The "standard" ANSI C I/O routines are not well suited for the
  930. Macintosh way of
  931. doing things because they expect either a simple file name or partial
  932. pathname from the
  933. current default volume/directory, or a full pathname. However, if you
  934. are doing a port
  935. for your own enjoyment and benefit (or maybe for in-house work) you can
  936. use the
  937. SetDefault and RestoreDefault functions in MoreFiles (see 4.2) as a
  938. wrapper around
  939. ANSI C I/O routines where the location of the file is implied to be the
  940. default volume
  941. and directory. The following function is an example of how you might
  942. pass an FSSpec to
  943. fopen using the SetDefault and RestoreDefault functions:
  944.  
  945. FILE *fopen_mac(const FSSpec *spec, char *mode)
  946. {
  947.     FILE *ret = NULL;
  948.     short oldVRefNum;
  949.     long oldDirID;
  950.  
  951.     /* set the default volume/directory */
  952.     if ( SetDefault(spec->vRefNum, spec->parID, &oldVRefNum, &oldDirID)
  953. == noErr )
  954.     {
  955.         /* call ANSI fopen */
  956.         ret = fopen(fileName, mode);
  957.  
  958.         /* restore the default volume/directory */
  959.         (void) RestoreDefault(oldVRefNum, oldDirID);
  960.     }
  961.     return ret;
  962. }
  963.  
  964.  
  965. Note: In older versions of MPW, this technique didn't work because the
  966. MPW libraries
  967. used GetVol and explicitly used that value as the default location.
  968.  
  969.  
  970.  
  971. Michael
  972.  
  973. - -
  974. Michael Schuerig
  975. mailto:uzs90z@uni-bonn.de
  976. http://www.rhrz.uni-bonn.de/~uzs90z/
  977.  
  978.  
  979. ---------------------------
  980.  
  981. From msbishop@ix.netcom.com (Matt Bishop)
  982. Subject: Dialogs and TE commands - bus error?
  983. Date: Wed, 09 Oct 1996 02:48:23 -0500
  984. Organization: Zippo
  985.  
  986. I am running a modeless dialog and I want to call some TextEdit commands
  987. to do things like set the outline selection flage (TEFeatureFlag) and send
  988. the editText field a keypress (TEKey).  However, I can get none of them to
  989. work.  For example:
  990.  
  991. GetDialogItem(theDialog, theItem, &iType, &fieldHandle, &iRect);
  992. TEKey (theChar, (TEHandle) fieldHandle);  //bus error here
  993.  
  994. suggestions?  please email back.
  995.  
  996. +++++++++++++++++++++++++++
  997.  
  998. From doverton@iglou.com (Dave Overton)
  999. Date: 9 Oct 1996 18:37:45 GMT
  1000. Organization: NETCOM Network Operations
  1001.  
  1002. Matt,
  1003. Your problem here is that the Handle returned from GetDItem is not a text
  1004. edit handle. All the text edit items in a dialog share a single text edit
  1005. field.
  1006. You have to insure that that item is selected ( with the cursor ) and look
  1007. in the DialogPeek record to get the text edit handle for the dialog.
  1008. Dave Overton
  1009.  
  1010.  
  1011.  
  1012.  
  1013. In article <msbishop-0910960248230001@news.zippo.com>,
  1014. msbishop@ix.netcom.com (Matt Bishop) wrote:
  1015.  
  1016. > I am running a modeless dialog and I want to call some TextEdit commands
  1017. > to do things like set the outline selection flage (TEFeatureFlag) and send
  1018. > the editText field a keypress (TEKey).  However, I can get none of them to
  1019. > work.  For example:
  1020. > GetDialogItem(theDialog, theItem, &iType, &fieldHandle, &iRect);
  1021. > TEKey (theChar, (TEHandle) fieldHandle);  //bus error here
  1022. > suggestions?  please email back.
  1023.  
  1024.  
  1025. ---------------------------
  1026.  
  1027. From Steve Collins <snilloc@ix.netcom.com>
  1028. Subject: Displaying Status of Background Task
  1029. Date: Mon, 07 Oct 1996 09:56:55 +0000
  1030. Organization: Netcom
  1031.  
  1032. Hi,
  1033.  
  1034. Here's a user interface question:
  1035.  
  1036. My "task" (currently implemented as an application) wants to 
  1037. display connection state information - details not relevant, so I
  1038. won't go into them.
  1039.  
  1040. Some software vendors (Global Village) add a graphic item to the 
  1041. menu bar (thermometer type) to accomplish this.  This looks good,
  1042. but is not "standard".
  1043.  
  1044. Apple uses a control strip module to display timers for MacTCP.
  1045.  
  1046. Another approach would be a status window for the app, which I
  1047. mention only in passing, I really don't care for it.
  1048.  
  1049. I favor a control strip module for my product, but wonder if it's 
  1050. the right approach.  Is it acceptable to users? Do most users use
  1051. it?  Does it have a future?
  1052.  
  1053. Any thoughts out there?
  1054.  
  1055. Thanks
  1056.  
  1057. Steve
  1058.  
  1059. +++++++++++++++++++++++++++
  1060.  
  1061. From darth@zfn.uni-bremen.de (Jochen Lippert)
  1062. Date: Mon, 07 Oct 1996 19:32:53 +0200
  1063. Organization: University of  Bremen
  1064.  
  1065. In article <3258D3E7.4157@ix.netcom.com>, Steve Collins
  1066. <snilloc@ix.netcom.com> wrote:
  1067.  
  1068. > I favor a control strip module for my product, but wonder if it's 
  1069. > the right approach.  Is it acceptable to users? Do most users use
  1070. > it?  Does it have a future?
  1071.  
  1072. You could also use a control panel, just like the "File Sharing Monitor".
  1073. I don't know much about this control strip, is it shipping with all macs
  1074. today? I heard it was only for Powerbooks, but times change :)
  1075.  
  1076. Jochen Lippert
  1077.  
  1078. darth@zfn.uni-bremen.de
  1079.  
  1080. +++++++++++++++++++++++++++
  1081.  
  1082. From mchugh@zip.com.au (Alexander McHugh)
  1083. Date: Wed, 09 Oct 1996 13:37:48 +1000
  1084. Organization: The Zipsters
  1085.  
  1086. In article <darth-0710961932540001@m06.informatik.uni-bremen.de>,
  1087. darth@zfn.uni-bremen.de (Jochen Lippert) wrote:
  1088. :> I favor a control strip module for my product, but wonder if it's 
  1089. :> the right approach.  Is it acceptable to users? Do most users use
  1090. :> it?  Does it have a future?
  1091.  
  1092. i don't know how popular they are but every mac user i have shown the
  1093. control strip to has fallen in love with it
  1094.  
  1095. yet another thing apple had underpromoted.
  1096.  
  1097. i would recommend developing for extensions strip as well if you can. It
  1098. was the first shareware i ever registered. SO useful. A pity the authour
  1099. seems to have dropped interest in it.
  1100.  
  1101. :You could also use a control panel, just like the "File Sharing Monitor".
  1102. :I don't know much about this control strip, is it shipping with all macs
  1103. :today? I heard it was only for Powerbooks, but times change :)
  1104.  
  1105. it's for all macs as of system 7.5.3
  1106.  
  1107. +++++++++++++++++++++++++++
  1108.  
  1109. From jstiles@uclink4.berkeley.edu (John Stiles)
  1110. Date: Thu, 10 Oct 1996 15:33:49 -0800
  1111. Organization: University of California, Berkeley
  1112.  
  1113. In article <mchugh-ya023180000910961337480001@news.zip.com.au>,
  1114. mchugh@zip.com.au (Alexander McHugh) wrote:
  1115.  
  1116. > In article <darth-0710961932540001@m06.informatik.uni-bremen.de>,
  1117. > darth@zfn.uni-bremen.de (Jochen Lippert) wrote:
  1118. > :> I favor a control strip module for my product, but wonder if it's 
  1119. > :> the right approach.  Is it acceptable to users? Do most users use
  1120. > :> it?  Does it have a future?
  1121. > i don't know how popular they are but every mac user i have shown the
  1122. > control strip to has fallen in love with it
  1123. > yet another thing apple had underpromoted.
  1124.  
  1125. Honestly, I don't like Control Strip at all. In theory it's fantastic, but
  1126. it gets in the way!! Especially if you open a game or something that wants
  1127. the whole screen, it just takes this ugly little triangular chunk in the
  1128. corner of the screen and won't let it go. Which of course, means that
  1129. games that CopyBits slow down because the destination region isn't a plain
  1130. rectangle, but that's another point...
  1131.  
  1132. I would WORSHIP the control strip if it were an icon the menu bar between
  1133. the Keyboard and Apple-Guide menus, and it dropped down like a menu and
  1134. rolled back up when I was done with it. That sounds like a much better
  1135. idea to me (no desktop space eaten constantly). Of course, Windows 95
  1136. users got used to a fixed toolbar at the bottom of the screen, so I guess
  1137. I could too... (of course, at least in Win95, windows don't appear with
  1138. the resize boxes hidden right under the start bar!)
  1139.  
  1140. BTW what is extensions strip...?
  1141.  
  1142. *Stiles
  1143.  
  1144. ---------------------------
  1145.  
  1146. From Madmax <madmax@oro.net>
  1147. Subject: Help! How do a draw a picture offscreen?
  1148. Date: Sun, 29 Sep 1996 14:44:54 -0800
  1149. Organization: "oronet, Penn Valley, CA"
  1150.  
  1151. How do I draw a picture off screen so I can have it appeear instantly 
  1152. on screen?
  1153. Cory Loken
  1154.  
  1155. +++++++++++++++++++++++++++
  1156.  
  1157. From "Tedd F. Sperling" <sperling@sperling.com>
  1158. Date: Mon, 30 Sep 1996 09:02:49 +0000
  1159. Organization: Sperling Corporation
  1160.  
  1161. Madmax wrote:
  1162. > How do I draw a picture off screen so I can have it appeear instantly
  1163. > on screen?
  1164. > Cory Loken
  1165.  
  1166.  
  1167. What language?
  1168.  
  1169. If you're in FutureBasic, I'll send you the code.
  1170.  
  1171. tedd
  1172.  
  1173.  
  1174. -- 
  1175.    ____
  1176.   |[  ]| mac programmer                             tedd f. sperling
  1177.   |[__]|                               mailto: sperling@sperling.com
  1178.   |___-|                http://www.sojourn.com/~sperling/resume.html
  1179. - -
  1180.  
  1181. +++++++++++++++++++++++++++
  1182.  
  1183. From raub@kushana.aero.ufl.edu (Mauricio Tavares)
  1184. Date: 9 Oct 1996 14:23:11 GMT
  1185. Organization: University of Florida
  1186.  
  1187. Tedd F. Sperling (sperling@sperling.com) wrote:
  1188. : Madmax wrote:
  1189. : > 
  1190. : > How do I draw a picture off screen so I can have it appeear instantly
  1191. : > on screen?
  1192. : > Cory Loken
  1193. : What language?
  1194. : If you're in FutureBasic, I'll send you the code.
  1195.     I have some code to do that in C.  
  1196.  
  1197. -- 
  1198.  ===========================+==========================================
  1199. | Mauricio Tavares          | "We will attack...                       |
  1200. | raub@kushana.aero.ufl.edu |  ...under the cover of daylight!" Rimmer |
  1201.  ===========================+==========================================
  1202.  
  1203. +++++++++++++++++++++++++++
  1204.  
  1205. From winter@ai.rl.af.mil (Jim Wintermyre)
  1206. Date: 11 Oct 1996 15:05:41 GMT
  1207. Organization: Rome Laboratory
  1208.  
  1209. In article <53gcgf$5uv@no-names.nerdc.ufl.edu>
  1210. raub@kushana.aero.ufl.edu (Mauricio Tavares) writes:
  1211.  
  1212. > Tedd F. Sperling (sperling@sperling.com) wrote:
  1213. > : Madmax wrote:
  1214. > : > 
  1215. > : > How do I draw a picture off screen so I can have it appeear instantly
  1216. > : > on screen?
  1217. > : > Cory Loken
  1218. > : 
  1219. > : What language?
  1220. > : 
  1221. > : If you're in FutureBasic, I'll send you the code.
  1222. > : 
  1223. >         I have some code to do that in C.  
  1224.  
  1225. There's some Pascal code that does this in the develop 22 source code. 
  1226. Look in the "Custom Color Search Procedures" code for the files
  1227. SP_PICTs.p and SP_GWorlds.p.
  1228.  
  1229. Jim
  1230.  
  1231. winter@ai.rl.af.mil
  1232. wintermyrej@rl.af.mil
  1233.  
  1234.  
  1235. ---------------------------
  1236.  
  1237. From duncan@cass.demon.co.uk (Duncan Mullier)
  1238. Subject: Icons on the desktop?
  1239. Date: Wed, 02 Oct 96 12:38:05 GMT
  1240. Organization: Digital Amusement Ltd
  1241.  
  1242. How do I get an icon to be associated with my application? I've drawn one,
  1243. and included it in my project but to no avail.
  1244.  
  1245. Dunc
  1246.  
  1247. +++++++++++++++++++++++++++
  1248.  
  1249. From smfr@santafe.edu (Simon Fraser)
  1250. Date: Thu, 03 Oct 1996 23:10:54 -0700
  1251. Organization: Santa Fe Institute
  1252.  
  1253. In article <531qo9$g6a@stc06.ctd.ornl.gov>, "Thomas L. Ferrell"
  1254. <ferrelltl@ornl.gov> wrote:
  1255.  
  1256. >duncan@cass.demon.co.uk (Duncan Mullier) wrote:
  1257. >>How do I get an icon to be associated with my application? I've drawn
  1258. >one, and included it in my project but to no avail.
  1259. >>
  1260. >>Dunc
  1261. >
  1262. >You can do it the proper way with ResEdit and code, or you can do it the
  1263. easy way. Just select your icon, go to File--Get Info, sele=
  1264. >ct the icon in the GetInfo window, copy it to the clipboard, then do
  1265. File--Get Info on your app, select its icon in the GetInfo wind=
  1266. >ow, and paste your custom icon from the clipboard.
  1267.  
  1268. No, this is not what he wants to do. This method inserts some icon
  1269. resources in the file, with ID -16455, but does not associate 
  1270. documents with their creating application in any way.
  1271.  
  1272. Duncan, you need to read a ResEdit primer, and some of Inside Mac
  1273. to get the full description, so that you understand how it all work.
  1274. But, in ResEdit, the basic procedure is this.
  1275.  
  1276. In the resource file for your app, creature a new resource of
  1277. type 'BNDL' (leave the default ID at 128). In the window that
  1278. opens, type your app's signature (a 4-letter code that identified
  1279. your app. You should use either all uppercase, or a mixture of
  1280. upper- and lowercase letters; Apple reserver the lowercase ones).
  1281. For example, NewsWatcher's is 'NNTP'.
  1282.  
  1283. Now create a new file type by hitting Command-k while the BNDL
  1284. window is still open. First, you should add the type 'APPL', 
  1285. which provides icons for you application; click in the left
  1286. column, and type APPL as the type. Then double-click on the
  1287. icon boxes on the RHS, and draw yourself a nice icon for the app.
  1288.  
  1289. Now add another type, which will be one of your document types.
  1290. For example, if this app handles text docs, and you want to
  1291. make TEXT files with an icon from your app, do Command-k again,
  1292. type 'TEXT' as the type, and draw another icon for text file.
  1293.  
  1294. Continue, until you have types for each of the file types that 
  1295. you want this app to own.
  1296.  
  1297. Now, when you close the BNDL window, ResEdit will show that you
  1298. have created in addition a bunch of FREF resources (one for each
  1299. type), some icon resources, and the owner resource, which has the
  1300. type you have the app.
  1301.  
  1302. Then go on and compile this resource file into your app.
  1303. There is one final stage to get the icons to show up. You need
  1304. to get them into the desktop database, so either do a desktop
  1305. rebuild on restart (command-option), or use a utility like
  1306. Save-a-BNDL.
  1307.  
  1308. Of course, when your app creates a file, the creator code of
  1309. the file needs to be set to that of the app, and the type code
  1310. should be one of the ones you entered into the resource file.
  1311.  
  1312. Simon
  1313.  
  1314. -- 
  1315. ________________________________________________________________
  1316. Simon Fraser                                  Santa Fe Institute
  1317. smfr@santafe.edu                             1399 Hyde Park Road
  1318. http://www.santafe.edu/~smfr/                 Santa Fe, NM 87501
  1319.  
  1320. +++++++++++++++++++++++++++
  1321.  
  1322. From "Thomas L. Ferrell" <ferrelltl@ornl.gov>
  1323. Date: 4 Oct 1996 01:54:17 GMT
  1324. Organization: Oak Ridge National Lab
  1325.  
  1326. duncan@cass.demon.co.uk (Duncan Mullier) wrote:
  1327. >How do I get an icon to be associated with my application? I've drawn >one, and included it in my project but to no avail.
  1328. >
  1329. >Dunc
  1330.  
  1331. You can do it the proper way with ResEdit and code, or you can do it the easy way. Just select your icon, go to File--Get Info, sele=
  1332. ct the icon in the GetInfo window, copy it to the clipboard, then do File--Get Info on your app, select its icon in the GetInfo wind=
  1333. ow, and paste your custom icon from the clipboard.
  1334. tom
  1335.  
  1336.  
  1337. +++++++++++++++++++++++++++
  1338.  
  1339. From Online@MacTech.com ( nick.c @MT )
  1340. Date: Fri, 11 Oct 1996 17:54:54 -0700
  1341. Organization: MacTech Magazine
  1342.  
  1343.  
  1344.  
  1345. smfr@santafe.edu (Simon Fraser) wrote:
  1346.  
  1347. >Duncan, you need to read a ResEdit primer, and some of Inside Mac
  1348. >to get the full description, so that you understand how it all work.
  1349. >But, in ResEdit, the basic procedure is this.
  1350. >
  1351. >In the resource file for your app, creature a new resource of
  1352. >type 'BNDL' (leave the default ID at 128). In the window that
  1353. >opens, type your app's signature (a 4-letter code that identified
  1354. >your app. You should use either all uppercase, or a mixture of
  1355. >upper- and lowercase letters; Apple reserver the lowercase ones).
  1356. >For example, NewsWatcher's is 'NNTP'.
  1357.  
  1358. ...
  1359.  
  1360. >Then go on and compile this resource file into your app.
  1361. >There is one final stage to get the icons to show up. You need
  1362. >to get them into the desktop database, so either do a desktop
  1363. >rebuild on restart (command-option), or use a utility like
  1364. >Save-a-BNDL.
  1365.  
  1366.  
  1367.      One more step: you need to tell your compiler to set the
  1368.        'creator' code of your appliction to the same four letter
  1369.        code (ie. 'NNTP').  In CodeWarrior (for example) open
  1370.        your project, go to the edit menu and open the preference
  1371.        item.  Select the project item in the dialog that appears
  1372.        and look for a box that has the word "creator" next to
  1373.        it and "????" in the box.  Change the "????" to your
  1374.        creator code "NNTP".  Do this before compiling your
  1375.        app (otherwise the bundle will be entered into the
  1376.        desktop database, but the finder won't know to associate
  1377.        the correct icon with your applications and you'll
  1378.        still get the default).
  1379.  
  1380.  
  1381.  
  1382.  
  1383. ____Nicholas C. DeMello, Ph.D.___________________________________________
  1384. "MacTech Online"--MacTech Magazine, for Mac OS Programmers and Developers
  1385.      http://www.MacTech.com/
  1386.                                         _/   _/  _/  _/_/_/   _/   _/  
  1387.    Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  1388.      MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  1389.         http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  1390.  
  1391. ---------------------------
  1392.  
  1393. From "Seth Hill" <ferris@proaxis.com>
  1394. Subject: Is it MacOS 4.1 or System 4.1?
  1395. Date: 7 Oct 96 10:25:57 -0700
  1396. Organization: ProAxis Communications, Inc.
  1397.  
  1398. I=B9m writting some documentation for my upcomming program, and I have
  1399. to refer to an old version of system software, and I was wondering
  1400. what the official way of describing it is. Back when we were all using
  1401. System 6.0.2, we called it "System 6.0.2." But now, we have "MacOS
  1402. 7.5" and "MacOS 8." I figure that Copland and 7.5 qualify as a "MacOS"
  1403. and not a "System," but what about the older system software? Are we
  1404. supposed to call it "System 7" or "MacOS 7?"
  1405.  
  1406. Just trying to solve another daunting Macintosh mystery.
  1407.  
  1408. --
  1409. Seth Hill -- ferris@proaxis.com
  1410. http://www.proaxis.com/~ferris/
  1411. Don't drink and park because accidents can cause people...
  1412.  
  1413.  
  1414.  
  1415. +++++++++++++++++++++++++++
  1416.  
  1417. From jude@smellycat.com (Jude Giampaolo)
  1418. Date: 7 Oct 1996 19:42:47 GMT
  1419. Organization: CyberDrugs
  1420.  
  1421. In article <AE7E8B41-AA70@206.163.142.175>, "Seth Hill"
  1422. <ferris@proaxis.com> wrote:
  1423.  
  1424. > I=B9m writting some documentation for my upcomming program, and I have
  1425. > to refer to an old version of system software, and I was wondering
  1426. > what the official way of describing it is. Back when we were all using
  1427. > System 6.0.2, we called it "System 6.0.2." But now, we have "MacOS
  1428. > 7.5" and "MacOS 8." I figure that Copland and 7.5 qualify as a "MacOS"
  1429. > and not a "System," but what about the older system software? Are we
  1430. > supposed to call it "System 7" or "MacOS 7?"
  1431.  
  1432. I'm pretty sure it was "System x.x.x" before the release of 7.5.3 I think.
  1433. THey renamed the whole contraption to "MacOS" at that point.
  1434.  
  1435. -- 
  1436. Jude Charles Giampaolo        'I was lined up for glory, but the
  1437. jcg161@psu.edu                 tickets sold out in advance' -Rush
  1438. jude@smellycat.com      http://prozac.cwru.edu/jude/JudeHome.html
  1439.  
  1440. +++++++++++++++++++++++++++
  1441.  
  1442. From "John W. Baxter" <jwbaxter@olympus.net>
  1443. Date: Mon, 07 Oct 1996 18:51:55 -0700
  1444. Organization: Internet for the Olympic Peninsula
  1445.  
  1446. Seth Hill wrote:
  1447. > I1m writting some documentation for my upcomming program, and I have
  1448. > to refer to an old version of system software, and I was wondering
  1449. > what the official way of describing it is. Back when we were all using
  1450. > System 6.0.2, we called it "System 6.0.2." But now, we have "MacOS
  1451. > 7.5" and "MacOS 8." I figure that Copland and 7.5 qualify as a "MacOS"
  1452. > and not a "System," but what about the older system software? Are we
  1453. > supposed to call it "System 7" or "MacOS 7?"
  1454. > Just trying to solve another daunting Macintosh mystery.
  1455.  
  1456. No one ever thought of 4.1 as MacOS 4.1, since the term MacOS wasn't
  1457. invented (and the necessary trademarking, etc done) until long after
  1458. that time.  [It was done to get the word "Macintosh" out of software
  1459. which runs on other machines in addition to Macintosh.  Running on other
  1460. hardware by "obtaining" a Mac ROM didn't count.]  It's very highly
  1461. unlikely that 4.1 will run on any of the machines whose existence
  1462. triggered the MacOS name.
  1463.  
  1464. If you call it System 4.1 "MacOS" now, you'll just confuse things.  And
  1465. might be violating trademark.
  1466.  
  1467.    --John
  1468.  
  1469. +++++++++++++++++++++++++++
  1470.  
  1471. From lga@sma.ch (Laurent Gasser)
  1472. Date: 8 Oct 1996 12:09:37 GMT
  1473. Organization: Swiss Meterological Institute
  1474.  
  1475. The old Mac had Systems (up to 7.1). The MacOS way to call it appeared with 
  1476. the new licensing policy.  System 7.5.1 could no more be called so, because
  1477. it would run on computers others than Apple's.
  1478.  
  1479. -- 
  1480. Laurent Gasser (lga@sma.ch)
  1481. Computers do not solve problems, they execute solutions.
  1482.  
  1483.  
  1484.  
  1485. +++++++++++++++++++++++++++
  1486.  
  1487. From Online@MacTech.com ( nick.c @MT )
  1488. Date: Tue, 08 Oct 1996 09:47:54 -0700
  1489. Organization: MacTech Magazine
  1490.  
  1491.  
  1492.  
  1493.    I'd call it "System 4.1", however if you want to emphasize that
  1494.      you're refering to the Macintosh operating system you could
  1495.      say "Macintosh System 4.1".  I think calling it MacOS 4.1
  1496.      would just confuse folks (JMO).
  1497.  
  1498. ____Nicholas C. DeMello, Ph.D.________________________________________
  1499.  
  1500.    Online from MacTech Magazine, for Mac OS Programmers and Developers
  1501.      http://www.MacTech.com/
  1502.                                        _/   _/  _/  _/_/_/   _/   _/  
  1503.   Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  1504.     MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  1505.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  1506.  
  1507. +++++++++++++++++++++++++++
  1508.  
  1509. From jriley@flash.net (Jay Riley)
  1510. Date: Wed, 09 Oct 1996 13:40:49 -0500
  1511. Organization: DATAMAGIK Ä Systems, Software & Design Engineering
  1512.  
  1513. In article <3259B3B8.6331@olympus.net>, jwbaxter@olympus.net wrote:
  1514.  
  1515. >Seth Hill wrote:
  1516. >> 
  1517. >> I1m writting some documentation for my upcomming program, and I have
  1518. >> to refer to an old version of system software, and I was wondering
  1519. >> what the official way of describing it is. Back when we were all using
  1520. >> System 6.0.2, we called it "System 6.0.2." But now, we have "MacOS
  1521. >> 7.5" and "MacOS 8." I figure that Copland and 7.5 qualify as a "MacOS"
  1522. >> and not a "System," but what about the older system software? Are we
  1523. >> supposed to call it "System 7" or "MacOS 7?"
  1524. >> 
  1525. >> Just trying to solve another daunting Macintosh mystery.
  1526. >
  1527. >No one ever thought of 4.1 as MacOS 4.1, since the term MacOS wasn't
  1528. >invented (and the necessary trademarking, etc done) until long after
  1529. >that time.  [It was done to get the word "Macintosh" out of software
  1530. >which runs on other machines in addition to Macintosh.  Running on other
  1531. >hardware by "obtaining" a Mac ROM didn't count.]  It's very highly
  1532. >unlikely that 4.1 will run on any of the machines whose existence
  1533. >triggered the MacOS name.
  1534. >
  1535. >If you call it System 4.1 "MacOS" now, you'll just confuse things.  And
  1536. >might be violating trademark.
  1537.  
  1538. Hmmm...I doubt it would count as trademark infringement since MacOS is an
  1539. Apple trademark. I've tried to start refering to all incarnations of the
  1540. OS as MacOS for consistency. Besides the word "System" is fairly generic.
  1541.  
  1542. Seth I personally wouldn't be confused by either reference, or even a
  1543. mixture of the two, but some newcomers to the Mac might find "MacOS 4.1"
  1544. clearer and besides it gives you a sense of history (MacOS has been around
  1545. since 1983). I believe the version that shipped in 1984 was MacOS 1.1g.
  1546.  
  1547.  ====================================================================
  1548.   DATAMAGIK == 107 Ranch Rd. 620 S. #10F == Austin, Texas  USA 78734 
  1549.   <mailto:jriley@flash.net> or visit <http://www.flash.net/~jriley/>
  1550.  ====================================================================
  1551.   Currently routed by FlashNet Communications <http://www.flash.net>
  1552.  
  1553. ---------------------------
  1554.  
  1555. From StevenEllis@microapl.demon.co.uk (Steven Ellis)
  1556. Subject: Localizing application on the Mac
  1557. Date: Wed, 09 Oct 1996 14:46:33 +0100
  1558. Organization: MicroAPL Ltd
  1559.  
  1560.  
  1561. We have developed an application in English which now need to be localised
  1562. for France, Germany, and Spain. We have also followed all of Apple's
  1563. guidelines regarding the placement of strings in resources etc.
  1564.  
  1565. We are currently using AppleGlot to insert the Localised strings into the
  1566. various versions of the application, but have a problem with dialog sizes.
  1567.  
  1568. The application was devloped in C++ using Metrowerks PowerPlant, and as
  1569. such we have a mix of PPobs and standard Mac dialogs. Some of these require
  1570. resizing for the localised strings to fit.
  1571.  
  1572. The problem with AppleGlot, is it loses the resized values when you update
  1573. the resulting application. As this is part of an ongoing project, we are
  1574. looking for a more automated solution..
  1575.  
  1576. Any ideas out there? Is there an FAQ on the subject, and why is Apple's
  1577. documentation so bad when they are so keen for use to localise
  1578. applications.
  1579.  
  1580. Thanks
  1581.  
  1582. Steven Ellis
  1583.  
  1584. - --
  1585. At work so usually only lurking ....   StevenEllis@microapl.demon.co.uk.
  1586. - --
  1587. Eric Clapton....  May the hand of God play guitar forever.
  1588.  
  1589. +++++++++++++++++++++++++++
  1590.  
  1591. From kjohnson@transparent.com (Kent Johnson)
  1592. Date: Thu, 10 Oct 1996 13:19:21 GMT
  1593. Organization: Transparent Language, Inc.
  1594.  
  1595. In article <AE816B49966845E2@microapl.demon.co.uk>,
  1596. StevenEllis@microapl.demon.co.uk (Steven Ellis) wrote:
  1597.  
  1598. > We have developed an application in English which now need to be localised
  1599. > for France, Germany, and Spain.
  1600. > We are currently using AppleGlot to insert the Localised strings into the
  1601. > various versions of the application, but have a problem with dialog sizes.
  1602. > The application was devloped in C++ using Metrowerks PowerPlant, and as
  1603. > such we have a mix of PPobs and standard Mac dialogs. Some of these require
  1604. > resizing for the localised strings to fit.
  1605. > The problem with AppleGlot, is it loses the resized values when you update
  1606. > the resulting application.
  1607.  
  1608. I am using AppleGlot and I don't have this problem with PPob's (I don't
  1609. use any DLOG's so I don't know about that). I don't know what you are
  1610. doing differently, but for me one of the nice features of AppleGlot is
  1611. that it DOES preserve my UI tweaks across releases.
  1612.  
  1613. What version of AppleGlot are you using? I use 2.4b2.
  1614.  
  1615. Kent Johnson                                kjohnson@transparent.com
  1616. Transparent Language, Inc.                http://www.transparent.com
  1617.  
  1618. +++++++++++++++++++++++++++
  1619.  
  1620. From sw@nan.co.uk (Sak Wathanasin)
  1621. Date: Fri, 11 Oct 1996 12:22:13 GMT
  1622. Organization: Network Analysis Ltd
  1623.  
  1624. In article <AE816B49966845E2@microapl.demon.co.uk>,
  1625. StevenEllis@microapl.demon.co.uk (Steven Ellis) wrote:
  1626.  
  1627. > We have developed an application in English which now need to be localised
  1628. > for France, Germany, and Spain. We have also followed all of Apple's
  1629. > guidelines regarding the placement of strings in resources etc.
  1630.  
  1631. I've done something similar using MacApp rather than PowerPlant. I agonized
  1632. over whether to just replace the strings or entire views/panes/dialogues.
  1633. In the end, I opted for the latter since we had to support Japanese as
  1634. well, and it was just too awkward to try to fit Japanese into the same
  1635. space (it needs a different font, min size of 12 pt to be legible and so
  1636. on). You may find this easier than trying to use the same dlgs/panes with
  1637. different sets of text strings.
  1638.  
  1639. I certainly found, after the initial translation, that it was easier to
  1640. make incremental changes to the other language versions than to regenerate
  1641. them all from (say) the English version. YMMV. Also, I found it easier to
  1642. work with the derezed form of the resource. That way I could use
  1643. comparefiles to merge 2 different versions of the resource.
  1644.  
  1645. > and why is Apple's
  1646. > documentation so bad when they are so keen for use to localise
  1647. > applications.
  1648.  
  1649. Hah! I take it you haven't fought the 2-byte stuff yet (:-).
  1650.  
  1651. -- 
  1652. Sak Wathanasin
  1653. Network Analysis Limited
  1654. 178 Wainbody Ave South, Coventry CV3 6BX, UK
  1655.  
  1656. Internet: sw@nan.co.uk 
  1657. uucp:     ...!britain.eu.net!nan!sw
  1658. Phone: (+44) 1203 419996                              Fax: (+44) 1203 690690
  1659.  
  1660.  
  1661. ---------------------------
  1662.  
  1663. From mthies@uni-paderborn.de (Michael Thies)
  1664. Subject: Looking for Apple Remote Access API
  1665. Date: 8 Oct 1996 06:56:30 GMT
  1666. Organization: University of Paderborn, Germany
  1667.  
  1668. Is the Apple Remote Access API available somewhere for download?
  1669. I have only found it mentioned as part of the Apple Developer Mailing
  1670. on the SDK CD, which would be overkill for the problem at hand.
  1671.  
  1672. I am interested in controling the answer call status of the ARA Personal
  1673. Server on a Macintosh running under At Ease. So ARA Commander and other
  1674. solutions which simulate the user clicking the Answer Calls check box in
  1675. the ARA Setup control panel won't work.
  1676.  
  1677. The intention is to allow printing to a locally connected printer, while
  1678. ARA PS server is setup to answer incomming calls (and no call is currently
  1679. being answered). The printer shares the modem port with the modem used for
  1680. ARA via a mechanical switchbox (printer port is used for local AppleTalk
  1681. network).
  1682.  
  1683. Interestingly, FaxExpress has no difficulties sending out faxes over the
  1684. same modem with Answer Calls on, but the Apple LaserWriter LS driver
  1685. complains about the port being in use. Perhaps this check could just be
  1686. patched out and Serial Port Arbitrator would take care of the rest?
  1687.  
  1688. Thanks in advance for any info.
  1689. -- 
  1690. Michael Thies  (mthies@uni-paderborn.de)
  1691.  
  1692.  
  1693.  
  1694. +++++++++++++++++++++++++++
  1695.  
  1696. From jayfar@netaxs.com (Jay Farrell)
  1697. Date: Tue, 08 Oct 1996 12:11:18 -0400
  1698. Organization: Net Access - Philadelphia's Original ISP
  1699.  
  1700. In article <53ctuu$5b8@news.uni-paderborn.de>, mthies@uni-paderborn.de wrote:
  1701.  
  1702. > Is the Apple Remote Access API available somewhere for download?
  1703. > I have only found it mentioned as part of the Apple Developer Mailing
  1704. > on the SDK CD, which would be overkill for the problem at hand.
  1705. > I am interested in controling the answer call status of the ARA Personal
  1706. > Server on a Macintosh running under At Ease. So ARA Commander and other
  1707. > solutions which simulate the user clicking the Answer Calls check box in
  1708. > the ARA Setup control panel won't work.
  1709. > The intention is to allow printing to a locally connected printer, while
  1710. > ARA PS server is setup to answer incomming calls (and no call is currently
  1711. > being answered). The printer shares the modem port with the modem used for
  1712. > ARA via a mechanical switchbox (printer port is used for local AppleTalk
  1713. > network).
  1714. > Interestingly, FaxExpress has no difficulties sending out faxes over the
  1715. > same modem with Answer Calls on, but the Apple LaserWriter LS driver
  1716. > complains about the port being in use. Perhaps this check could just be
  1717. > patched out and Serial Port Arbitrator would take care of the rest?
  1718.  
  1719. I don't know if this will help or not.  The chooser extension Apple
  1720. recommends for the Laserwriter LS is Laserwriter 300, as opposed to the
  1721. original printer-specific extension.  Why not try that?
  1722.  
  1723. There is also an Apple Remote Access OSAX available (see info-mac), but the
  1724. last version I tried was still buggy, and I can't recall if it does what
  1725. you want:
  1726.  
  1727. <URL:ftp://mirrors.aol.com/pub/info-mac/comm/ara/ara-scripting-addition.hqx>
  1728.  
  1729. Cheers,
  1730. Jayfar
  1731.  
  1732.    ////~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~////
  1733.   ////   The Mops Page    <URL:http://www.netaxs.com/~jayfar/mops.html>    ////
  1734.  ////~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~////
  1735. ////   Mops is Mike Hore's Freeware Forth/Smalltalk hybrid for Macintosh ////
  1736. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1737.   Jay Farrell     jayfar@netaxs.com        Philadelphia, Pennsylvania, USA
  1738.  
  1739. +++++++++++++++++++++++++++
  1740.  
  1741. From jumplong@aol.com (Jump Long)
  1742. Date: 10 Oct 1996 00:59:14 -0400
  1743. Organization: America Online, Inc. (1-800-827-6364)
  1744.  
  1745. Michael Thies wrote:
  1746.  
  1747. >Is the Apple Remote Access API available somewhere for download?
  1748. >I have only found it mentioned as part of the Apple Developer
  1749. >Mailing on the SDK CD, which would be overkill for the problem
  1750. >at hand.
  1751.  
  1752. Many of Apple's SDKs are available for download from
  1753. <ftp://ftpdev.info.apple.com/Developer_Services/Development_Kits>, but I
  1754. don't see the ARA SDK there.
  1755.  
  1756. - Jim Luther
  1757.  
  1758. ---------------------------
  1759.  
  1760. From David Thomas Mcwherter <dtm+@andrew.cmu.edu>
  1761. Subject: Low memory situations & Toolbox
  1762. Date: Tue,  8 Oct 1996 09:56:42 -0400
  1763. Organization: Carnegie Mellon, Pittsburgh, PA
  1764.  
  1765.     I'm attempting to add the ability to my application to handle
  1766. low-memory situations a little gracefully.  I have an alert, which
  1767. is defined in a 'DITL' and 'ALRT' resource.  I would like to show
  1768. this alert whenever I run into a low memory situation, offering
  1769. the user the ability to quit the program.  I load these two resources,
  1770. using GetResource() at the very beginning of my application.  I
  1771. mark the two handles I get non-purgeable, so they stay in the heap
  1772. pretty much forever.  I then generate a low memory situation in
  1773. which I have less than 4K left in my heap (by calling NewPtr() many 
  1774. times).  I have two problems beginning here.
  1775.  
  1776. 1)  When I try to call GetNewWindow(), the call itself crashes when
  1777. there is 1K or less in my heap.  This occurs even if I preload the
  1778. 'WIND' resource that I'm trying to use.  
  1779.  
  1780. 2)  When I try to call StopAlert() when there is 4K or less of available
  1781. RAM in my heap, the call crashes my computer.  (the call is trying
  1782. to load the alert that I tried to preallocate above)
  1783.  
  1784. Is there a way to detect when these crashes will occur?  Or is there
  1785. a way to prevent them from occuring?
  1786.  
  1787. In case it's useful, or if I have found a system bug, I've only tested
  1788. this on a PowerMac 7500 with System 7.5.3, virtual memory turned off, 
  1789. with 24MB of real RAM available, and 1.5MB given to my application.
  1790.  
  1791. Thanks,
  1792. David McWherter
  1793. dtm@andrew.cmu.edu
  1794.  
  1795.  
  1796. +++++++++++++++++++++++++++
  1797.  
  1798. From tree@apple.com (Tom Emerson)
  1799. Date: Tue, 08 Oct 1996 11:22:46 -0400
  1800. Organization: Apple Computer, Inc.
  1801.  
  1802. In article <0mKZqOK00YUq03oEg0@andrew.cmu.edu>, David Thomas Mcwherter
  1803. <dtm+@andrew.cmu.edu> wrote:
  1804.  
  1805. [...]
  1806. >1)  When I try to call GetNewWindow(), the call itself crashes when
  1807. >there is 1K or less in my heap.  This occurs even if I preload the
  1808. >'WIND' resource that I'm trying to use.  
  1809.  
  1810. You should never let your heap get to the point that there is only 1K left:
  1811. I'm not surprised the app crashes at that point.
  1812.  
  1813. >2)  When I try to call StopAlert() when there is 4K or less of available
  1814. >RAM in my heap, the call crashes my computer.  (the call is trying
  1815. >to load the alert that I tried to preallocate above)
  1816.  
  1817. Preloading the DITL and ALRT won't guarantee that calling StopAlert() will
  1818. succeed, and while you have at most 4K total available, how much contiguous
  1819. memory do you have?
  1820.  
  1821. >Is there a way to detect when these crashes will occur?  Or is there
  1822. >a way to prevent them from occuring?
  1823.  
  1824. I would suggest allocating some amount of "emergency" memory at startup
  1825. (16K? 40K? Whatever it takes to allow your app to notify the user that they
  1826. may be hosed and that they should save whatever they're doing) which you
  1827. deallocate in your GrowZone proc when the need arises. Set a flag in your
  1828. GrowZone proc saying that you're low on memory, and the next time through
  1829. your even loop call StopAlert() (or whatever).
  1830.  
  1831. I presume you are not calling the Toolbox from your grow zone?
  1832.  
  1833.     -tre
  1834.  
  1835. --
  1836. Tom Emerson                                                 Cambridge R&D
  1837. Senior Software Engineer                             Apple Computer, Inc.
  1838. <mailto:tree@apple.com>                  <http://www.tiac.net/users/tree>
  1839.  
  1840. +++++++++++++++++++++++++++
  1841.  
  1842. From dsample@synapse.net (Don Sample)
  1843. Date: Tue, 08 Oct 1996 14:01:52 -0400
  1844. Organization: DASoftware
  1845.  
  1846. In article <0mKZqOK00YUq03oEg0@andrew.cmu.edu>, David Thomas Mcwherter
  1847. <dtm+@andrew.cmu.edu> wrote:
  1848.  
  1849. >    I'm attempting to add the ability to my application to handle
  1850. >low-memory situations a little gracefully.  I have an alert, which
  1851. >is defined in a 'DITL' and 'ALRT' resource.  I would like to show
  1852. >this alert whenever I run into a low memory situation, offering
  1853. >the user the ability to quit the program.  I load these two resources,
  1854. >using GetResource() at the very beginning of my application.  I
  1855. >mark the two handles I get non-purgeable, so they stay in the heap
  1856. >pretty much forever.  I then generate a low memory situation in
  1857. >which I have less than 4K left in my heap (by calling NewPtr() many 
  1858. >times).  I have two problems beginning here.
  1859. >
  1860. ...
  1861.  
  1862. >Thanks,
  1863. >David McWherter
  1864. >dtm@andrew.cmu.edu
  1865.  
  1866. Preloading the ALRT, DITL and WIND resources doesn't help much, because
  1867. these are just templates used to build the data structures required to
  1868. create the windows.  When you call StopAlert() or GetNewWindow() a lot
  1869. more memory gets allocated.
  1870.  
  1871. -- 
  1872. Don Sample                          |
  1873. dsample@bix.com                     |    Quando Omni Flunkus Moritati
  1874. dsample@synapse.net                 |
  1875. http://www.synapse.net/~dsample/    | 
  1876.  
  1877. +++++++++++++++++++++++++++
  1878.  
  1879. From mrich@u.washington.edu (Michael L. Richardson)
  1880. Date: Thu, 10 Oct 1996 16:40:29 -0700
  1881. Organization: University of Washington
  1882.  
  1883. In article <0mKZqOK00YUq03oEg0@andrew.cmu.edu>, David Thomas Mcwherter
  1884. <dtm+@andrew.cmu.edu> wrote:
  1885.  
  1886. >     I'm attempting to add the ability to my application to handle
  1887. > low-memory situations a little gracefully.
  1888. [...]
  1889.  
  1890. Read IM:Memory, and learn about emergency memory reserves and GrowZoneProcs.
  1891.  
  1892. At a bare minimum, wrap each call to NewPtr/NewHandle with a check for the
  1893. amount of free memory, and refuse the request when there is about 30 - 50K
  1894. left.
  1895.  
  1896. -thurman gillespy
  1897.  
  1898.  
  1899. ---------------------------
  1900.  
  1901. From Stephen.Jonke@gsfc.nasa.gov (Stephen Jonke)
  1902. Subject: MacOS Java problems (Was: [Java]:  Refresh (paint()) in MW Java v. Netscape)
  1903. Date: Wed, 09 Oct 1996 11:05:56 -0500
  1904. Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
  1905.  
  1906. NOTE: I'm posting this response to two newsgroups as I felt it was
  1907. appropriate for more then just the .codewarrior group where the original
  1908. article was posted.  I note this so that people are aware of it and may
  1909. remove one or the other as appropriate in their responses.
  1910.  
  1911. In article <53eion$hle@thor.cmp.ilstu.edu>, mprogers@rs6000.cmp.ilstu.edu
  1912. (Mike Rogers) wrote:
  1913.  
  1914. >Loathe as I am to admit it, I do not see the same problem in Windoze '95,
  1915. >i.e., the screen does get properly repainted().  Has anybody else seen
  1916. >this as a bug in Netscape 3.0 (Gold) for the Mac?
  1917.  
  1918. Unfortunately just about everything Java is done much better in Windows
  1919. 95/NT then it is on the Mac.  Only the most basic Java applications/applets
  1920. run properly on the Mac and virtually all applets/applications runs great
  1921. under Windows 95/NT.  It's quite depressing.  :(
  1922.  
  1923. One particularly unexpected/bizarre Java problem on the Mac is the MacOS
  1924. file name limit of 31 characters!  It is common to come across stuff that
  1925. doesn't work on the Mac because some of the class names are too long and
  1926. their associated class file names are getting truncated (which breaks
  1927. Java).  It's easy to say "well then the names are too long", but aside from
  1928. the pointlessness of this argument since class names are being written that
  1929. are too long, it's hard to argue that a class name like
  1930. "ArrayIndexOutOfBoundsException" (don't forget to add ".java" to the end
  1931. for a total of 35 characters in the filename) defining a particular
  1932. Exception is innappropriate and that truncating/removing some of the words
  1933. is a good idea.
  1934.  
  1935. And that particular example is a standard Java Exception that Sun defines -
  1936. it sets a precedant for how they should be named and there are many others
  1937. in standard Java that are similarly too long for the MacOS.  Only the MacOS
  1938. and Windows 3.1 choke on it without a kludge (Metrowerks et. al. were
  1939. forced to kludge solutions to the problem just to be able to provide
  1940. development tools.)  It's a miracle that anything runs at all under Windows
  1941. 3.1, but they are no worse off then the MacOS, sad to say.
  1942.  
  1943. All the Mac Java VM's have many problems.  Suns, Metrowerk's, Natural
  1944. Intelligence's, Symantecs....  I hope that Apple realizes this problem and
  1945. is making it a top priority to help these folks out as well as updating the
  1946. MacOS to handle Java better.
  1947.  
  1948. Steve
  1949.  
  1950. -- 
  1951. Seen in computer peripheral ad: "User-friendly dip switches!"
  1952.  
  1953. +++++++++++++++++++++++++++
  1954.  
  1955. From awiner@oracle.com (Adam Winer)
  1956. Date: Wed, 09 Oct 1996 21:42:33 -0800
  1957. Organization: Oracle Corporation
  1958.  
  1959. In article <trumbull-0910961508540001@net173-72.student.yale.edu>,
  1960. trumbull@cs.yale.edu (Ben Trumbull) wrote:
  1961.  
  1962. > In article <Stephen.Jonke-ya023180000910961105560001@news.gsfc.nasa.gov>,
  1963. > Stephen.Jonke@gsfc.nasa.gov (Stephen Jonke) wrote:
  1964. > [snip out all the interesting stuff]
  1965. > > All the Mac Java VM's have many problems.  Suns, Metrowerk's, Natural
  1966. > > Intelligence's, Symantecs....  I hope that Apple realizes this problem and
  1967. > > is making it a top priority to help these folks out as well as updating the
  1968. > > MacOS to handle Java better.
  1969. > I read in several places that Apple is working hard on integrating a Java
  1970. > VM into the MacOS so applications can use Java or call applets, etc. 
  1971. > There's a beta or alpha on one of their developer web sites that allows
  1972. > java applets to be embedded in OpenDoc containers (hey, I thought it was
  1973. > cool).  The web site seemed to imply that it would be available as a
  1974. > shared library and a part, but I know I read something about Apple wanting
  1975. > to integrate it into the MacOS.  Hard to know for sure these days what
  1976. > Apple intends to do with the MacOS, tho.  I also recall reading about a
  1977. > deal between Natural Intelligence and Apple over NI's Java VM, perhaps
  1978. > someone else here know the details.
  1979.  
  1980. It's an alpha, and a very early alpha at that.  It's also
  1981. pretty irrelevant because:
  1982.   a) It uses the Sun VM/AWT implementation, not the NI JIT VM.
  1983.   b) It doesn't include any of the API they'll expose in the future
  1984.      to let the rest of us expose Java in our apps.
  1985.   c) It's somewhat slow and buggy as hell.
  1986.  
  1987. I've heard rumors that the MacOS Java integration (i.e.,
  1988. the official release of the MacOS Java Runtime) comes
  1989. with 7.7, which should show in July, but nothing official.
  1990.  
  1991. -- Adam Winer
  1992. awiner@us.oracle.com
  1993.  
  1994. -- 
  1995. Adam Winer
  1996. awiner@us.oracle.com
  1997. Technical Staff, Oracle Corp.
  1998.  
  1999. +++++++++++++++++++++++++++
  2000.  
  2001. From Stephen.Jonke@gsfc.nasa.gov (Stephen Jonke)
  2002. Date: Thu, 10 Oct 1996 12:30:51 -0500
  2003. Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
  2004.  
  2005. I think the most important thing Apple needs to solve is the 31 character
  2006. filename limit.  Natural Intelligence/Metrowerks/Symantec/Netsape can't do
  2007. this for Apple.  Java classes with names longer then 26 characters (+
  2008. ".java" = 31 characters) are not going to go away by themselves, especially
  2009. since some are part of the Java spec!  Apple needs to bring the MacOS up to
  2010. snuff when it comes to file names and they need to do it now.
  2011.  
  2012. I hope that that Sytem 7.6 (not 7.7 or 8.0 or 9.0 or ...) will increase the
  2013. max file name length.  Then, of course, apps will have to be updated to not
  2014. presume a file name of <= 31 characters.  It's a major problem and it needs
  2015. to be solved lest the Mac be left in the dust in the world of Java.
  2016.  
  2017. Steve
  2018.  
  2019. -- 
  2020. Seen in computer peripheral ad: "User-friendly dip switches!"
  2021.  
  2022. +++++++++++++++++++++++++++
  2023.  
  2024. From trumbull@cs.yale.edu (Ben Trumbull)
  2025. Date: Wed, 09 Oct 1996 15:08:54 -0400
  2026. Organization: Yale University
  2027.  
  2028. In article <Stephen.Jonke-ya023180000910961105560001@news.gsfc.nasa.gov>,
  2029. Stephen.Jonke@gsfc.nasa.gov (Stephen Jonke) wrote:
  2030.  
  2031. [snip out all the interesting stuff]
  2032.  
  2033. > All the Mac Java VM's have many problems.  Suns, Metrowerk's, Natural
  2034. > Intelligence's, Symantecs....  I hope that Apple realizes this problem and
  2035. > is making it a top priority to help these folks out as well as updating the
  2036. > MacOS to handle Java better.
  2037.  
  2038. I read in several places that Apple is working hard on integrating a Java
  2039. VM into the MacOS so applications can use Java or call applets, etc. 
  2040. There's a beta or alpha on one of their developer web sites that allows
  2041. java applets to be embedded in OpenDoc containers (hey, I thought it was
  2042. cool).  The web site seemed to imply that it would be available as a
  2043. shared library and a part, but I know I read something about Apple wanting
  2044. to integrate it into the MacOS.  Hard to know for sure these days what
  2045. Apple intends to do with the MacOS, tho.  I also recall reading about a
  2046. deal between Natural Intelligence and Apple over NI's Java VM, perhaps
  2047. someone else here know the details.
  2048.  
  2049. In any event, with Apple and Sun's new alliance, you can expect Java to
  2050. receive considerable attention and effort from Apple.
  2051.  
  2052. terminally curious,
  2053.  
  2054. Ben
  2055. ___________________________________________________________________
  2056. Benjamin Trumbull
  2057. trumbull@cs.yale.edu       
  2058. Yale University 
  2059.        You can't be in hell; you can still read your e-mail
  2060.  
  2061. +++++++++++++++++++++++++++
  2062.  
  2063. From lars.farm@ite.mh.se (Lars Farm)
  2064. Date: Fri, 11 Oct 1996 14:41:08 +0200
  2065. Organization: pv
  2066.  
  2067. Stephen Jonke <Stephen.Jonke@gsfc.nasa.gov> wrote:
  2068.  
  2069. > Then, of course, apps will have to be updated to not
  2070. > presume a file name of <= 31 characters.
  2071.  
  2072. This is probably a problem (according to Murphy anything that can go
  2073. wrong will), but it *should* not be a problem because files are
  2074. currently (since 91) located with FSSpec's and they store 63 chars. Of
  2075. course replacing a 31 char limit with a 63 char limit is an improvement,
  2076. but when one does that one has to ask: "why stop at Str64?".
  2077.  
  2078.  
  2079. -- 
  2080. Lars Farm, lars.farm@ite.mh.se
  2081.  
  2082. +++++++++++++++++++++++++++
  2083.  
  2084. From Glenn R. Howes <grhowes@tiac.net>
  2085. Date: 11 Oct 1996 00:04:21 GMT
  2086. Organization: Generally Helpful Software
  2087.  
  2088. In article <Stephen.Jonke-ya023180001010961230510001@news.gsfc.nasa.gov>
  2089. Stephen Jonke, Stephen.Jonke@gsfc.nasa.gov writes:
  2090. >I think the most important thing Apple needs to solve is the 31 character
  2091. >filename limit.  Natural Intelligence/Metrowerks/Symantec/Netsape can't do
  2092. >this for Apple.  Java classes with names longer then 26 characters (+
  2093. >".java" = 31 characters) are not going to go away by themselves, especially
  2094. >since some are part of the Java spec! 
  2095.  
  2096. When a standard universal class archive is set, this problem will pretty
  2097. much go away. Then all the class names will be in the archive, not the
  2098. file system, like you can do with .zip files under Netscape now.
  2099.  
  2100. +++++++++++++++++++++++++++
  2101.  
  2102. From "John W. Baxter" <jwbaxter@olympus.net>
  2103. Date: Fri, 11 Oct 1996 19:41:24 -0700
  2104. Organization: Internet for the Olympic Peninsula
  2105.  
  2106. Lars Farm wrote:
  2107. > Stephen Jonke <Stephen.Jonke@gsfc.nasa.gov> wrote:
  2108. > > Then, of course, apps will have to be updated to not
  2109. > > presume a file name of <= 31 characters.
  2110. > This is probably a problem (according to Murphy anything that can go
  2111. > wrong will), but it *should* not be a problem because files are
  2112. > currently (since 91) located with FSSpec's and they store 63 chars. Of
  2113. > course replacing a 31 char limit with a 63 char limit is an improvement,
  2114. > but when one does that one has to ask: "why stop at Str64?".
  2115. The 63 character FFSpec name was a compromise between not eating the
  2116. whole stack, and supporting real-world MFS floppies (where the actual
  2117. file name limit was 253 (given a 1 character volume name...the whole
  2118. path with ':' had to be 255 or less)).  File names were often longer
  2119. than 31...officially it was 127 each side of the ':' in MFS.  In
  2120. hindsight, an overall FSSpec length which occupies a multiple of
  2121. processor cache line size would have been nice...probably meaning a
  2122. 55-character (oops...byte) name length.
  2123.  
  2124. The first released System 7 Finder could be crashed very easily:  insert
  2125. an MFS floppy containing a file name longer than 63 characters. 
  2126. Somewhere in Finder, an FSSpec was written beyond, and bang.  I don't
  2127. know whether the current Finder has had the problem fixed, or defined
  2128. out of existence [if it hurts, don't do it] (I don't have such a
  2129. floppy).
  2130.  
  2131.   --John
  2132.  
  2133. +++++++++++++++++++++++++++
  2134.  
  2135. From fpottier@pauillac.inria.fr (Francois Pottier)
  2136. Date: 11 Oct 1996 16:13:15 GMT
  2137. Organization: INRIA Rocquencourt, BP 105, 78153 Le Chesnay Cedex, France
  2138.  
  2139. In article <199610111441081095660@dialup104-5-11.swipnet.se>,
  2140. Lars Farm <lars.farm@ite.mh.se> wrote:
  2141.  
  2142. >currently (since 91) located with FSSpec's and they store 63 chars. Of
  2143.  
  2144. FSSpecs have 63 chars but the limit is still documented to be 31 chars,
  2145. and some apps use this knowledge to save space (for instance, when saving
  2146. filenames to disk). So, some apps would still break.
  2147.  
  2148. --
  2149. Francois Pottier
  2150. Francois.Pottier@inria.fr
  2151. http://pauillac.inria.fr/~fpottier/
  2152.  
  2153. +++++++++++++++++++++++++++
  2154.  
  2155. From Stephen.Jonke@gsfc.nasa.gov (Stephen Jonke)
  2156. Date: Fri, 11 Oct 1996 13:38:59 -0500
  2157. Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
  2158.  
  2159. NOTE: I've moved this to only comp.sys.mac.programmer.misc as I don't think
  2160. that it applies specifically to Codewarrior any more.
  2161.  
  2162. In article <53k2u5$l34@news-central.tiac.net>, Glenn R. Howes
  2163. <grhowes@tiac.net> wrote:
  2164.  
  2165. >When a standard universal class archive is set, this problem will pretty
  2166. >much go away. Then all the class names will be in the archive, not the
  2167. >file system, like you can do with .zip files under Netscape now.
  2168.  
  2169. That would work, although it only applies to end users, not developers. 
  2170. If, like I, you are working in a mixed PC, Mac and Unix environment and
  2171. your colleague creates a new exception class (or whatever) source file with
  2172. a file name too long for the Mac, you still have a problem.  And don't
  2173. forget about getting java classes from the net (in the form of source
  2174. files), a lot of which are being produced by PC and Unix users who are
  2175. unaware of this problem or could care less.
  2176.  
  2177. I suppose if the development tool completely bypasses the Mac file system
  2178. and works directly with these archives containing source .java files (which
  2179. I'm not sure is even the intent) that would work, but you would not be able
  2180. to take that file and open it with some other Mac tool unless it also
  2181. explicitely supported opening source "files" directly from an archive.  And
  2182. in any case this is a hack that makes it at best akward to use a Mac for
  2183. Java development.  The only real solution is for the MacOS to inherently
  2184. support longer file names.
  2185.  
  2186. There's something particularly humiliating/dissatisfying about having to
  2187. ask a Windows NT user to shorten their file names because they are too long
  2188. for the Mac!  :(
  2189.  
  2190. Steve
  2191.  
  2192. -- 
  2193. Seen in computer peripheral ad: "User-friendly dip switches!"
  2194.  
  2195.  
  2196. ---------------------------
  2197.  
  2198. From "kleinemans" <kleimans@dds.nl>
  2199. Subject: Pascal compiler??
  2200. Date: 29 Sep 1996 17:28:16 GMT
  2201. Organization: EuroNet Internet
  2202.  
  2203.  
  2204. --Cyberdog-AltBoundary-0002F7FB
  2205. Content-Type: text/plain; charset=ISO-8859-1
  2206. Content-Transfer-Encoding: quoted-printable
  2207.  
  2208. I'm a biginning macintosh programmer, and I'm looking for a cheap
  2209. pascal compiler.
  2210. (Don't begin about learning C pleasse)
  2211. Are there any shareware compilers? I'm now using borlands turbo
  2212. pascal('87)
  2213. Help me!
  2214.  
  2215.  
  2216. - -------------------------------------------------
  2217. This message was created and sent using the Cyberdog Mail System
  2218. - -------------------------------------------------
  2219.  
  2220.  
  2221.  
  2222. --Cyberdog-AltBoundary-0002F7FB
  2223. Content-Type: multipart/mixed; boundary="Cyberdog-MixedBoundary-0002F7FD"
  2224. Content-Transfer-Encoding: 7bit
  2225.  
  2226.  
  2227. --Cyberdog-MixedBoundary-0002F7FD
  2228. Content-Type: text/enriched; charset=ISO-8859-1
  2229. Content-Transfer-Encoding: quoted-printable
  2230.  
  2231. <SMALLER><X-FONTSIZE><PARAM>10</PARAM><FONTFAMILY><PARAM>Geneva</PARAM>=
  2232. I'm a biginning macintosh programmer, and I'm looking for a cheap
  2233. pascal compiler.
  2234.  
  2235. (Don't begin about learning C pleasse)
  2236.  
  2237. Are there any shareware compilers? I'm now using borlands turbo
  2238. pascal('87)
  2239.  
  2240. Help me!
  2241.  
  2242.  
  2243.  
  2244. - -------------------------------------------------
  2245.  
  2246. This message was created and sent using the Cyberdog Mail System
  2247.  
  2248. - -------------------------------------------------
  2249.  
  2250. </FONTFAMILY></X-FONTSIZE></SMALLER>
  2251. --Cyberdog-MixedBoundary-0002F7FD--
  2252.  
  2253. --Cyberdog-AltBoundary-0002F7FB--
  2254.  
  2255.  
  2256. +++++++++++++++++++++++++++
  2257.  
  2258. From Jason J Mullins <jasonm@mcqueen.com>
  2259. Date: Mon, 30 Sep 1996 11:30:14 +0100
  2260. Organization: McQueen
  2261.  
  2262. kleinemans wrote:
  2263. > I'm a biginning macintosh programmer, and I'm looking for a cheap
  2264. > pascal compiler.
  2265. > (Don't begin about learning C pleasse)
  2266. > Are there any shareware compilers? I'm now using borlands turbo
  2267. > pascal('87)
  2268.  
  2269. I don't know of a shareware compiler, but MetroWerks do a 'Bronze'
  2270. version of CodeWarrier, which has Pascal, C, C++, etc, etc, and costs
  2271. much less than the full version, and does 68k only. If you are a student
  2272. then the prices on Academic CW are even better.
  2273.  
  2274. The best bit is that with all options you get lots of electronic
  2275. manuals, teaching books, the CW API and updates.
  2276.  
  2277. =0)
  2278.  
  2279. +++++++++++++++++++++++++++
  2280.  
  2281. From Online@MacTech.com ( nick.c @MT )
  2282. Date: Wed, 09 Oct 1996 15:34:07 -0700
  2283. Organization: MacTech Magazine
  2284.  
  2285.  
  2286.  
  2287. raub@kushana.aero.ufl.edu (Mauricio Tavares) wrote:
  2288. >Jason J Mullins (jasonm@mcqueen.com) wrote:
  2289.  
  2290. >: I don't know of a shareware compiler, but MetroWerks do a 'Bronze'
  2291. >: version of CodeWarrier, which has Pascal, C, C++, etc, etc, and costs
  2292. >: much less than the full version, and does 68k only. If you are a student
  2293. >: then the prices on Academic CW are even better.
  2294. >: 
  2295. >: The best bit is that with all options you get lots of electronic
  2296. >: manuals, teaching books, the CW API and updates.
  2297. >: 
  2298. >        Or he can get Symantec's Think Pascal...
  2299.  
  2300.  
  2301.       TP is a very kool tool--but it's worth noting you can't 
  2302.         generate PPC binaries with it.  If you can get the CW
  2303.         academic, it's probably a better deal.
  2304.  
  2305.  
  2306.  
  2307.  
  2308. ____Nicholas C. DeMello, Ph.D.___________________________________________
  2309. "MacTech Online"--MacTech Magazine, for Mac OS Programmers and Developers
  2310.      http://www.MacTech.com/
  2311.                                         _/   _/  _/  _/_/_/   _/   _/  
  2312.    Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  2313.      MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  2314.         http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  2315.  
  2316. +++++++++++++++++++++++++++
  2317.  
  2318. From raub@kushana.aero.ufl.edu (Mauricio Tavares)
  2319. Date: 9 Oct 1996 17:54:20 GMT
  2320. Organization: University of Florida
  2321.  
  2322. Jason J Mullins (jasonm@mcqueen.com) wrote:
  2323. : kleinemans wrote:
  2324. : > 
  2325. : > I'm a biginning macintosh programmer, and I'm looking for a cheap
  2326. : > pascal compiler.
  2327. : > (Don't begin about learning C pleasse)
  2328. : > Are there any shareware compilers? I'm now using borlands turbo
  2329. : > pascal('87)
  2330. : I don't know of a shareware compiler, but MetroWerks do a 'Bronze'
  2331. : version of CodeWarrier, which has Pascal, C, C++, etc, etc, and costs
  2332. : much less than the full version, and does 68k only. If you are a student
  2333. : then the prices on Academic CW are even better.
  2334. : The best bit is that with all options you get lots of electronic
  2335. : manuals, teaching books, the CW API and updates.
  2336.     Or he can get Symantec's Think Pascal...
  2337.  
  2338. -- 
  2339.  ===========================+==========================================
  2340. | Mauricio Tavares          | "We will attack...                       |
  2341. | raub@kushana.aero.ufl.edu |  ...under the cover of daylight!" Rimmer |
  2342.  ===========================+==========================================
  2343.  
  2344. ---------------------------
  2345.  
  2346. From maxg@post3.tele.dk (Emil Tin)
  2347. Subject: Sound Manager delays!?
  2348. Date: 9 Oct 1996 11:17:55 GMT
  2349. Organization: Elektrodelia
  2350.  
  2351. Hi all,
  2352.  
  2353. I'm playing a sound, with real time control over volume, filters etc. But
  2354. I'm having troubles with the delays apparently build into Sound Manager.
  2355.  
  2356. I'm using the double buffer technique, where I can control the buffer size
  2357. myself.
  2358.  
  2359. BUT:
  2360. It appears that the SM internally uses its own package size, independetly
  2361. of the size I use. (This is not very strange, since SM services many
  2362. applications.)
  2363. By some experimentation, I found that this size is actually 1056 sample points.
  2364.  
  2365. This is a problem, since it means that all real time control will have
  2366. MINIMUM DELAY OF 1056 SAMPLE POINTS! This is actually more that 20ms,
  2367. which is too long for serius musical use.
  2368.  
  2369.  
  2370. And this is the best case. I meassued the time interval between the SM
  2371. calling my sound routine (by using the Microseconds() call). I found that
  2372. if I used a buffer size of excactly 1056, I would get almost even
  2373. intervals like:
  2374. 23000
  2375. 23000
  2376. 24000
  2377. 23000
  2378. 24000
  2379. etc.
  2380.  
  2381. If i used smaller buffer sizes, i would get something like:
  2382. 600
  2383. 23000
  2384. 600
  2385. 600
  2386. 22000
  2387. 600
  2388. 23000
  2389. 600
  2390. 23000
  2391. 600
  2392. 600
  2393. 600
  2394. 23000
  2395.  
  2396. This shows that if I set my buffer size to a smaller value than 1056, SM
  2397. will not call my sound callback routine at a regular (quite fast)
  2398. interval, but rather wait 1056 sample points, and then call my routine a
  2399. number of times very rapidly, as to fill up the internal big (1056) sample
  2400. point buffer. Thus I have a delay thats still at least 1056 sample points,
  2401. and therefore win nothing.
  2402.  
  2403. Is there any way to get faster real time control over the sound output???????
  2404.  
  2405. Small question:Is there any way to meassure, at a given time, the
  2406. corresponding currentyl playing sample point of the currently playing
  2407. sound package?? (needed when I must wrap a change to the next sound
  2408. package.)
  2409.  
  2410.  
  2411. Thanks in advance,
  2412.    Emil Tin
  2413.  
  2414. +++++++++++++++++++++++++++
  2415.  
  2416. From maxg@post3.tele.dk (Emil Tin)
  2417. Date: 10 Oct 1996 10:33:09 GMT
  2418. Organization: Elektrodelia
  2419.  
  2420. Thanks a lot for the answers. A couple of things..
  2421.  
  2422. > > It appears that the SM internally uses its own package size, independetly
  2423. > > of the size I use. (This is not very strange, since SM services many
  2424. > > applications.)
  2425. > > By some experimentation, I found that this size is actually 1056 sample
  2426. > points.
  2427. > This is NOT the Sound Mgr, but the hardware's internal buffer. The Sound
  2428. > Mgr has no control over this. You'd need to change the hardware design
  2429. > and/or software support (e.g. low level drivers).
  2430.  
  2431. Does this mean, that I could theoretically write my own sound driver and
  2432. get better respons times?
  2433.  
  2434.  
  2435. > > Small question:Is there any way to meassure, at a given time, the
  2436. > > corresponding currentyl playing sample point of the currently playing
  2437. > > sound package?? (needed when I must wrap a change to the next sound
  2438. > > package.)
  2439. > I think you're asking for level metering of output, like what's already
  2440. > supported with input. I'd like that too. It's one of the feature requests
  2441. > on my list. I'd rather have this supported in hardware, but I'll see what
  2442. > I can do.
  2443.  
  2444. No, let me be more excact:
  2445.  
  2446. The hardware starts playing back its internal buffer (1056 sample pts) at 
  2447. t=0 time units.
  2448. Lets say this buffer takes 100 time units to play back.
  2449.  
  2450. If a real time controller appears at t=30 time units, it can obviously not
  2451. have any effect on the currently played back buffer, since that buffer has
  2452. already been calculated.
  2453.  
  2454. Now there's two possibilities:
  2455. A     It can have effect from the first sample point in the next package.
  2456. (at t=100)
  2457. B     It can have effect at the time it appeared + 100 time units (at t=130)
  2458.  
  2459.  
  2460. A is not very good, since it introduces a variable (random) delay ranging
  2461. from 0 to 100 time units.
  2462. B is better, since it always introduces the same delay (100 time units)
  2463.  
  2464. But in order to use possibility B, there must be a way to know which time
  2465. (or at which sample point) the controller appeared, relative to time the
  2466. buffer started playing. (Toolbox call...?!)
  2467.  
  2468. Alternativly, it would suffice to know the excact time at which the buffer
  2469. started playing back the first sample point of the current package.
  2470.  
  2471.  
  2472. Thanks,
  2473.    Emil Tin
  2474.  
  2475. +++++++++++++++++++++++++++
  2476.  
  2477. From Sean sharkey <Sean@g0oanint.demon.co.uk>
  2478. Date: Thu, 10 Oct 96 10:36:12 -0000
  2479. Organization: EXP Ltd
  2480.  
  2481.  
  2482. In article <maxg-0910961322570001@ppp188.arh.tele.dk>, Emil Tin 
  2483. writes:
  2484.  
  2485. > Hi all,
  2486. > I'm playing a sound, with real time control over volume, filters 
  2487. etc. But
  2488. > I'm having troubles with the delays apparently build into Sound 
  2489. Manager.
  2490. > I'm using the double buffer technique, where I can control the 
  2491. buffer size
  2492. > myself.
  2493.  
  2494. Sound manager doesn't set any buffer size. It's the built-in hardware 
  2495. for your Mac that's got the buffer. Even worse perhaps is that the 
  2496. size of the buffer varies from Mac to Mac. For example my LC475 has a 
  2497. hardware buffer of 512 byte and my PowerPC has 1024.
  2498.  
  2499. You can get the size of the hardware buffer by calling,
  2500.  
  2501. osErr = SPBGetDeviceInfo (inRefNum, siDeviceBufferInfo, InfoData)
  2502.  
  2503. See Inside Mac "Sound Input Manager," for more details.
  2504.  
  2505.  This shows that if I set my buffer size to a smaller value than 1056, 
  2506. SM
  2507. > will not call my sound callback routine at a regular (quite fast)
  2508. > interval, but rather wait 1056 sample points, and then call my 
  2509. routine a
  2510. > number of times very rapidly, as to fill up the internal big (1056) 
  2511. sample
  2512. > point buffer. Thus I have a delay thats still at least 1056 sample 
  2513. points,
  2514. > and therefore win nothing.
  2515. > Is there any way to get faster real time control over the sound 
  2516. output???????
  2517.  
  2518. If i were you I would switch to using an Interrupt Routine then 
  2519. during
  2520. the interrupt  move the sample data from the hardware buffer into your 
  2521. apps buffer. 
  2522.  
  2523.  
  2524. > Small question:Is there any way to meassure, at a given time, the
  2525. > corresponding currentyl playing sample point of the currently 
  2526. playing
  2527. > sound package?? (needed when I must wrap a change to the next sound
  2528. > package.)
  2529.  
  2530. Yes you can get the meter level by calling,
  2531.  
  2532. osErr = SPBGetDeviceInfo (inRefnum, siLevelMeterOnOff, infoData)
  2533.  
  2534. once again see Inside Mac for the details.
  2535.  
  2536. Hope this helps,
  2537.  
  2538.  
  2539. Sean.
  2540.  
  2541. +++++++++++++++++++++++++++
  2542.  
  2543. From reekes@apple.com (Jim Reekes)
  2544. Date: Wed, 09 Oct 1996 16:26:28 -0700
  2545. Organization: Apple Computer, Inc.
  2546.  
  2547. In article <maxg-0910961322570001@ppp188.arh.tele.dk>, maxg@post3.tele.dk
  2548. (Emil Tin) wrote:
  2549.  
  2550. > I'm using the double buffer technique, where I can control the buffer size
  2551. > myself.
  2552. > BUT:
  2553. > It appears that the SM internally uses its own package size, independetly
  2554. > of the size I use. (This is not very strange, since SM services many
  2555. > applications.)
  2556. > By some experimentation, I found that this size is actually 1056 sample
  2557. points.
  2558.  
  2559. This is NOT the Sound Mgr, but the hardware's internal buffer. The Sound
  2560. Mgr has no control over this. You'd need to change the hardware design
  2561. and/or software support (e.g. low level drivers).
  2562.  
  2563. > This is a problem, since it means that all real time control will have
  2564. > MINIMUM DELAY OF 1056 SAMPLE POINTS! This is actually more that 20ms,
  2565. > which is too long for serius musical use.
  2566.  
  2567. I agree, but what is acceptable for "serius [sic] musical use?"
  2568.  
  2569. > And this is the best case. I meassued the time interval between the SM
  2570. > calling my sound routine (by using the Microseconds() call). I found that
  2571. > if I used a buffer size of excactly 1056, I would get almost even
  2572. ...
  2573. ...
  2574. ...
  2575. > This shows that if I set my buffer size to a smaller value than 1056, SM
  2576. > will not call my sound callback routine at a regular (quite fast)
  2577. > interval, but rather wait 1056 sample points, and then call my routine a
  2578. > number of times very rapidly, as to fill up the internal big (1056) sample
  2579. > point buffer. Thus I have a delay thats still at least 1056 sample points,
  2580. > and therefore win nothing.
  2581.  
  2582. You could have just used the siHardwareFormat selector and found out the
  2583. internal hardware's format, which includes the buffer size. You should try
  2584. to make your buffers a multiple of the hardware's format. (By the way, I
  2585. have NOTHING to do with the hardware design. Do you think I'd choose
  2586. 1056?)
  2587.  
  2588. > Is there any way to get faster real time control over the sound output???????
  2589.  
  2590. Not at the present time.
  2591.  
  2592. > Small question:Is there any way to meassure, at a given time, the
  2593. > corresponding currentyl playing sample point of the currently playing
  2594. > sound package?? (needed when I must wrap a change to the next sound
  2595. > package.)
  2596.  
  2597. I think you're asking for level metering of output, like what's already
  2598. supported with input. I'd like that too. It's one of the feature requests
  2599. on my list. I'd rather have this supported in hardware, but I'll see what
  2600. I can do.
  2601.  
  2602. Jim
  2603.  
  2604. -- 
  2605. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  2606.                             |        Sound Manager Expert
  2607. Apple Computer, Inc.        | "All opinions expressed are mine, and
  2608. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  2609. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  2610.  
  2611. +++++++++++++++++++++++++++
  2612.  
  2613. From troika@panix.com (Mark Coniglio)
  2614. Date: Fri, 11 Oct 1996 09:17:30 -0400
  2615. Organization: Troika Ranch
  2616.  
  2617. In article <96101010361200068@g0oanint.demon.co.uk>,
  2618. Sean@g0oanint.demon.co.uk wrote:
  2619.  
  2620. > You can get the size of the hardware buffer by calling,
  2621. > osErr = SPBGetDeviceInfo (inRefNum, siDeviceBufferInfo, InfoData)
  2622. > See Inside Mac "Sound Input Manager," for more details.
  2623.  
  2624. This is the _input_ buffer, no? (the "si" is for sound input.)
  2625.  
  2626. -- Mark
  2627.  
  2628. -- 
  2629. mail: troika@panix.com
  2630. web:  http://www.art.net/~troika
  2631.  
  2632. +++++++++++++++++++++++++++
  2633.  
  2634. From Murat Konar <murat@macromedia.com>
  2635. Date: Fri, 11 Oct 1996 12:24:42 -0700
  2636. Organization: Macromedia
  2637.  
  2638. Sean sharkey wrote:
  2639. > In article <maxg-0910961322570001@ppp188.arh.tele.dk>, Emil Tin
  2640. > writes:
  2641. [deletia]
  2642. > > Small question:Is there any way to meassure, at a given time, the
  2643. corresponding currentyl playing sample point of the currently
  2644. playing sound package?? (needed when I must wrap a change to the next
  2645. sound  package.)
  2646. > Yes you can get the meter level by calling,
  2647. > osErr = SPBGetDeviceInfo (inRefnum, siLevelMeterOnOff, infoData)
  2648.  
  2649. This will give you input level metering.  To get output level metering,
  2650. we made a sound output component whose sole purpose was to observe the
  2651. samples as they went by on their way to the hardware.  Still some
  2652. latency using this technique, but not bad.
  2653.  
  2654.  
  2655. -- 
  2656. _______________________________________________________________
  2657. Murat N. Konar
  2658. SoundEdit 16 Guy
  2659. murat@macromedia.com
  2660.  
  2661. ---------------------------
  2662.  
  2663. From lottsim@aol.com (LOTTSIM)
  2664. Subject: Strange Pop-Up Problem...
  2665. Date: 7 Oct 1996 21:03:56 -0400
  2666. Organization: America Online, Inc. (1-800-827-6364)
  2667.  
  2668. I have a pop up menu (and a defined 'CNTL') that is Appended when the
  2669. Dialog is first opened.  However, after that, I can't seem to call
  2670. SetCtlValue to set the pop-up to a value greater than how it comes
  2671. originally, with 4 items.
  2672.  
  2673. It just sets it so that a "-" item appears, and nothing is checked.  Why
  2674. would this be happening?
  2675.  
  2676. I've checked (and added error checking) so that I can see what number menu
  2677. item it is trying to set the menu to, and it IS valid, but it was
  2678. appended.  What am I doing wrong?
  2679.  
  2680. Thanks!
  2681.  
  2682. Alex Rampell
  2683.  
  2684. +++++++++++++++++++++++++++
  2685.  
  2686. From bilewicz@helf4.physik.fu-berlin.de (Roger Bilewicz)
  2687. Date: 8 Oct 96 12:37:19 GMT
  2688. Organization: Freie Universitaet Berlin
  2689.  
  2690. lottsim@aol.com (LOTTSIM) writes:
  2691.  
  2692. >I have a pop up menu (and a defined 'CNTL') that is Appended when the
  2693. >Dialog is first opened.  However, after that, I can't seem to call
  2694. >SetCtlValue to set the pop-up to a value greater than how it comes
  2695. >originally, with 4 items.
  2696.  
  2697. >It just sets it so that a "-" item appears, and nothing is checked.  Why
  2698. >would this be happening?
  2699.  
  2700. >I've checked (and added error checking) so that I can see what number menu
  2701. >item it is trying to set the menu to, and it IS valid, but it was
  2702. >appended.  What am I doing wrong?
  2703.  
  2704. >Thanks!
  2705.  
  2706. >Alex Rampell
  2707.  
  2708. Hi Alex,
  2709.  
  2710. 1. check if your DITL, CNTL, and MENU resources are ok;
  2711. 2. give us a snippet of your source code for closer investigation.
  2712.  
  2713. So long,
  2714. Roger
  2715.  
  2716.  
  2717. +++++++++++++++++++++++++++
  2718.  
  2719. From parichan@best.com (Kevin Parichan)
  2720. Date: Tue, 08 Oct 1996 10:57:10 -0800
  2721. Organization: Best Internet Communications
  2722.  
  2723. In article <53c99s$crh@newsbf02.news.aol.com>, lottsim@aol.com (LOTTSIM) wrote:
  2724.  
  2725. >I have a pop up menu (and a defined 'CNTL') that is Appended when the
  2726. >Dialog is first opened.  However, after that, I can't seem to call
  2727. >SetCtlValue to set the pop-up to a value greater than how it comes
  2728. >originally, with 4 items.
  2729.  
  2730. Try calling SetControlMaximum() where the max is the new total of items in
  2731. the menu.
  2732.  
  2733. -Kevin Parichan
  2734.  
  2735. +++++++++++++++++++++++++++
  2736.  
  2737. From Murat Konar <murat@macromedia.com>
  2738. Date: Tue, 08 Oct 1996 11:23:40 -0700
  2739. Organization: Macromedia
  2740.  
  2741. lottsim@aol.com (LOTTSIM) writes:
  2742.  
  2743. >I have a pop up menu (and a defined 'CNTL') that is Appended when the
  2744. >Dialog is first opened.  However, after that, I can't seem to call
  2745. >SetCtlValue to set the pop-up to a value greater than how it comes
  2746. >originally, with 4 items.
  2747.  
  2748. Presumabaly you are appending menu items to the popup?  If you don't
  2749. call SetCtlMax() to increase the control's maximum value before calling
  2750. SetCtlValue(), your new value will get "clipped" to the control's
  2751. current maximum value. 
  2752.  
  2753.  
  2754.  
  2755. -- 
  2756. _______________________________________________________________
  2757. Murat N. Konar
  2758. SoundEdit 16 Guy
  2759. murat@macromedia.com
  2760.  
  2761. +++++++++++++++++++++++++++
  2762.  
  2763. From lottsim@aol.com (LOTTSIM)
  2764. Date: 9 Oct 1996 13:47:19 -0400
  2765. Organization: America Online, Inc. (1-800-827-6364)
  2766.  
  2767. Everything works great as long as I'm setting the control (a pop up menu)
  2768. somewhere between 1 and 3 (4 is a "-" item).
  2769.  
  2770. However, when I set it to 5, 6, or anything greater (the pop-up is
  2771. generated on the fly, so it could have 100 items, theoretically).
  2772.  
  2773. Here's the code segment I use for setting the item:
  2774.  
  2775. GetDItem( myDialog, kMyMenu, &itemType, &itemHandle, &twoRect );
  2776.                                 
  2777.     
  2778. SetCtlValue( (ControlHandle)itemHandle, 
  2779.     (*prefsHandle)->FunFile[current-kF1].refNumber+kMenuChoice);    
  2780.                     //Add over four existing numbers
  2781.  
  2782. This gets executed only if it does belong in the bottom half of the menu
  2783. (kMenuChoice, equal to 4, is added to the refNum which is between 1 and
  2784. Count1Resources of a certain resource).
  2785.  
  2786. I've even checked the value of FunFile[current-kF1].refNumber+kMenuChoice,
  2787. but doing a for loop, beeping "refNumber+kMenuChoice" number of times.
  2788.  
  2789. FunFile is a struct I defined, within my prefs resource.
  2790.  
  2791. Here's how I make the menu:
  2792. myMenu = GetMenu(-4040);
  2793.     if ( myMenu )
  2794.     {
  2795.         HLock( (Handle)myMenu );
  2796.         SetResLoad(false);    
  2797.         for ( x = 1; x <= Count1Resources('pRoC'); x++ )
  2798.         {
  2799.             itemHandle = Get1IndResource('pRoC', x);
  2800.             GetResInfo(itemHandle,&y,&rType,theString);    
  2801.             AppendMenu(myMenu, theString);
  2802.         }    
  2803.         HUnlock( (Handle)myMenu );
  2804.     }
  2805.  
  2806. I can view and select all the choices in this menu...I just can't have my
  2807. program set them to what *I* want.
  2808.  
  2809. Also, on another control related problem, I can't get SetDItem to work to
  2810. move a control (static text).  It just stays in the original position. 
  2811. MoveControl does the same thing (nothing!)
  2812.  
  2813. Thanks,
  2814. Alex Rampell
  2815.  
  2816. +++++++++++++++++++++++++++
  2817.  
  2818. From bilewicz@helf4.physik.fu-berlin.de (Roger Bilewicz)
  2819. Date: 10 Oct 96 14:03:24 GMT
  2820. Organization: Freie Universitaet Berlin
  2821.  
  2822. lottsim@aol.com (LOTTSIM) writes:
  2823.  
  2824. >Everything works great as long as I'm setting the control (a pop up menu)
  2825. >somewhere between 1 and 3 (4 is a "-" item).
  2826.  
  2827. >However, when I set it to 5, 6, or anything greater (the pop-up is
  2828. >generated on the fly, so it could have 100 items, theoretically).
  2829.  
  2830. >Here's the code segment I use for setting the item:
  2831. -- snip --
  2832.  
  2833. From this, my suggestion is to fix the control's maximum value first, 
  2834. as Murat and Kevin already proposed. The contrlMax field of the Control
  2835. Record is set when the popup's MENU resource is loaded. After this, when
  2836. you append more menu items, the control record cannot be updated
  2837. automatically. You must do this by a call to SetCtlMax.
  2838. SetCtlValue checks the new value against the contrlMax field and
  2839. therefore behaves not as expected if the menu item count and the
  2840. control's maximum setting are not equal.
  2841.  
  2842. >Also, on another control related problem, I can't get SetDItem to work to
  2843. >move a control (static text).  It just stays in the original position. 
  2844. >MoveControl does the same thing (nothing!)
  2845.  
  2846. A similar situation? The dialog manager calls DrawControl to draw the
  2847. controls, but DrawControl doesn't know about dialog item rects.
  2848. Therefore you should take care to have both the item rect and the
  2849. control's rect identical. MoveControl cannot set a dialog item rect, and
  2850. SetDItem cannot change a control's rect. Therefore we have to change
  2851. both rects to move a control in a dialog.
  2852.  
  2853. However, static text isn't a control. I think you confuse something
  2854. here. To change the place where static text is drawn, SetDItem should work.
  2855.  
  2856. Hope it helps,
  2857. Roger
  2858.  
  2859.  
  2860.  
  2861. ---------------------------
  2862.  
  2863. From kjeller@sofus.hiof.no (Kjell Erling Hagen)
  2864. Subject: VIP-C and CodeWarrior 9
  2865. Date: Tue, 08 Oct 1996 17:10:00 +0200
  2866. Organization: Hiÿ
  2867.  
  2868. Just installed VIP-C 2.0 (payed for it!) on my PowerMac 8200/120 and went
  2869. through the tutorials. I have also CodeWarrior 9, and tried to compile
  2870. with it through the Project-menu in VIP-C.
  2871.  
  2872. The following operation went OK:
  2873. Set project type: Application, Self contained.
  2874.  
  2875. But the Update project operation gave this message:
  2876. "Could not update the project".
  2877. The error in CodeWarrior was "illegal precompiled header version",
  2878. reffering to the line "#include "MicroCalc.h" (a headerfile made by
  2879. VIP-C). And it tells me that the header file is old or defective. In the
  2880. CodeWarrior preferences Language Settings C/C++ Language the Prefix File
  2881. is "VIP_C_Headers_PPC".
  2882.  
  2883. I tried the same thing on a Macintosh IIfx, and the same thing happened
  2884. (another Prefix File).
  2885.  
  2886. What is the solution?
  2887.  
  2888. Mail me a copy of your answer/suggestion.
  2889.  
  2890. -- 
  2891. Kjell Erling Hagen, Borgergata 38, N-1767 Halden, Norway.
  2892. kjeller@sofus.hiof.no
  2893. http://www-ia.hiof.no/~kjeller/
  2894.  
  2895. +++++++++++++++++++++++++++
  2896.  
  2897. From MWRon@metrowerks.com (MW Ron)
  2898. Date: Wed, 09 Oct 1996 23:50:53 -0400
  2899. Organization: Metrowerks
  2900.  
  2901. In article <kjeller-0810961710000001@beatles.hiof.no>,
  2902. kjeller@sofus.hiof.no (Kjell Erling Hagen) wrote:
  2903.  
  2904. >Just installed VIP-C 2.0 (payed for it!) on my PowerMac 8200/120 and went
  2905. >through the tutorials. I have also CodeWarrior 9, and tried to compile
  2906. >with it through the Project-menu in VIP-C.
  2907. >
  2908. >The following operation went OK:
  2909. >Set project type: Application, Self contained.
  2910. >
  2911. >But the Update project operation gave this message:
  2912. >"Could not update the project".
  2913. >The error in CodeWarrior was "illegal precompiled header version",
  2914. >reffering to the line "#include "MicroCalc.h" (a headerfile made by
  2915. >VIP-C). And it tells me that the header file is old or defective. In the
  2916. >CodeWarrior preferences Language Settings C/C++ Language the Prefix File
  2917. >is "VIP_C_Headers_PPC".
  2918. >
  2919. >I tried the same thing on a Macintosh IIfx, and the same thing happened
  2920. >(another Prefix File).
  2921. >
  2922. >What is the solution?
  2923.  
  2924. I haven't used VIP-C but the fix generally for an error of this sort is to
  2925. create a new precompiled header of using the same items as were in the
  2926. original precompiled header.  You should be able to determine this from
  2927. the VIP-C items.  for example in Metrowerks MacHeaders.h is the result of
  2928. opening the file MacHeaders.pch  ( this file sets the nameing convention
  2929. and it includes MacHeaders.c  the true file to be precompiled)  so you
  2930. would do the equivalent of opening MacHeaders.pch and selecting precompile
  2931. from the project menu.
  2932.  
  2933. This is probably better documented in either the IDE User's guide or the
  2934. Targeting MacOS user's guide
  2935.  
  2936. Ron
  2937.  
  2938. -- 
  2939. METROWERKS                   Ron Liechty
  2940. "Software at Work"    MWRon@metrowerks.com
  2941. http://www.metrowerks.com/about/people/rogues.html#mwron
  2942.  
  2943. +++++++++++++++++++++++++++
  2944.  
  2945. From pjvoogt@euronet.nl (Paul J. Voogt)
  2946. Date: 11 Oct 1996 20:01:37 GMT
  2947. Organization: Euronet
  2948.  
  2949. In article <kjeller-0810961710000001@beatles.hiof.no>,
  2950. kjeller@sofus.hiof.no (Kjell Erling Hagen) wrote:
  2951.  
  2952. >Just installed VIP-C 2.0 (payed for it!) on my PowerMac 8200/120 and went
  2953. >through the tutorials. I have also CodeWarrior 9, and tried to compile
  2954. >with it through the Project-menu in VIP-C.
  2955. >
  2956. >The following operation went OK:
  2957. >Set project type: Application, Self contained.
  2958. >
  2959. >But the Update project operation gave this message:
  2960. >"Could not update the project".
  2961. >The error in CodeWarrior was "illegal precompiled header version",
  2962. >reffering to the line "#include "MicroCalc.h" (a headerfile made by
  2963. >VIP-C). And it tells me that the header file is old or defective. In the
  2964. >CodeWarrior preferences Language Settings C/C++ Language the Prefix File
  2965. >is "VIP_C_Headers_PPC".
  2966. >
  2967. >I tried the same thing on a Macintosh IIfx, and the same thing happened
  2968. >(another Prefix File).
  2969. >
  2970. >What is the solution?
  2971. >
  2972. >Mail me a copy of your answer/suggestion.
  2973.  
  2974. You have to create new precompiled headers. To do this look inside the
  2975. "VIP" folder that is located in the CodeWarrior folder:
  2976.  
  2977. Two Metrowerks project files are provided to generate the VIP-C 2.0
  2978. precompiled header files automatically: "VIP_C_Headers.micro68K" and
  2979. "VIP_C_Headers.microPPC" ('micro' is the micro symbol which looks like a
  2980. 'u'). A minor modification must be made to a Universal Header File in order
  2981. to generate the new files. This modification doesn't create any conflict
  2982. and is necessary to generate the files for the VIP-C 2.0 environment.
  2983. Proceed as follows for the update:
  2984. 1) Open the "OCEStandardMail.h" file which is located in the "Universal
  2985. Headers" folder in the CW9 environment.
  2986. 2) Search for the word "pageNumber" in this file, and replace it by
  2987. "pageNum".
  2988. 3) Close and save the updated "OCEStandardMail.h" file.
  2989. 4) Open the "VIP_C_Headers.micro68K" project file, select the file in
  2990. the project and select the "Precompile..." item from the "Project" menu.
  2991. 5) Repeat step #4 for the "VIP_C_Headers.microPPC" project file.
  2992. 6) That's it!
  2993.  
  2994. --
  2995. Paul J. Voogt
  2996.  
  2997. http://www.euronet.nl/users/pjvoogt/               mailto:pjvoogt@euronet.nl
  2998. - --------------------------------------------------------------------------
  2999. I have seen the future and it is just like the present, only longer.
  3000.  
  3001.  
  3002. ---------------------------
  3003.  
  3004. From kjl@genetics.bio-rad.com
  3005. Subject: Where is TMON Pro?
  3006. Date: Mon, 30 Sep 1996 16:52:25 -0800
  3007. Organization: NETCOM Network Operations
  3008.  
  3009.  
  3010. Does anyone know what happened to TMON (this time).  I paid my fees when
  3011. MindVision took over but have not heard a thing since.
  3012.  
  3013. +++++++++++++++++++++++++++
  3014.  
  3015. From Online@MacTech.com ( nick.c @MT )
  3016. Date: Mon, 30 Sep 1996 18:58:32 -0800
  3017. Organization: MacTech Magazine
  3018.  
  3019.  
  3020.  
  3021. kjl@genetics.bio-rad.com wrote:
  3022.  
  3023. >Does anyone know what happened to TMON (this time).  I paid my fees when
  3024. >MindVision took over but have not heard a thing since.
  3025.  
  3026.    
  3027.    Dunno, but I have some contact info for them.  I'd suggest
  3028.      giving 'em a call:
  3029.  
  3030.          (402) 477-3269 (phone)
  3031.          (402) 477-1395 (fax)
  3032.  
  3033.          <http://www.mindvision.com/>
  3034.          <mailto:support@mindvision.com>
  3035.  
  3036. ____Nicholas C. DeMello, Ph.D.________________________________________
  3037.  
  3038.    Online from MacTech Magazine, for Mac OS Programmers and Developers
  3039.      http://www.MacTech.com/
  3040.                                        _/   _/  _/  _/_/_/   _/   _/  
  3041.   Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  3042.     MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  3043.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  3044.  
  3045. +++++++++++++++++++++++++++
  3046.  
  3047. From joei@hops.com (Jonathan Oei)
  3048. Date: Fri, 04 Oct 1996 12:30:32 -0400
  3049. Organization: HOPS, International
  3050.  
  3051. In article <kjl-ya023080003009961652250001@nntp.noc.netcom.com>,
  3052. kjl@genetics.bio-rad.com wrote:
  3053.  
  3054. >Does anyone know what happened to TMON (this time).  I paid my fees when
  3055. >MindVision took over but have not heard a thing since.
  3056.  
  3057. TMON is currently at revision 4.0b2 and you can purchase the beta
  3058. (or, if you currently own an older TMON, purchase a subscription).
  3059.  
  3060. Long live TMON!
  3061.  
  3062. -- 
  3063. Jonathan Oei                                      joei@hops.com
  3064.  
  3065. "Christianity has not been tried and found wanting; it has been
  3066.  found difficult and not tried" -- G.K. Chesterton
  3067.  
  3068. +++++++++++++++++++++++++++
  3069.  
  3070. From kjl@genetics.bio-rad.com
  3071. Date: Mon, 07 Oct 1996 08:43:56 -0800
  3072. Organization: NETCOM Network Operations
  3073.  
  3074.  
  3075.  
  3076. I did purchase it back when MindVision took over and got the 4.0b1 version
  3077. which was unusable.  I have not seen anything since.
  3078.  
  3079.  
  3080. In article <joei-ya023180000410961230320001@snews2.zippo.com>,
  3081. joei@hops.com (Jonathan Oei) wrote:
  3082. > TMON is currently at revision 4.0b2 and you can purchase the beta
  3083. > (or, if you currently own an older TMON, purchase a subscription).
  3084. > Long live TMON!
  3085. > -- 
  3086. > Jonathan Oei                                      joei@hops.com
  3087. > "Christianity has not been tried and found wanting; it has been
  3088. >  found difficult and not tried" -- G.K. Chesterton
  3089.  
  3090. +++++++++++++++++++++++++++
  3091.  
  3092. From Bob Meyer <MeyerSoft@Resuba.com>
  3093. Date: Tue, 08 Oct 1996 08:52:49 -0400
  3094. Organization: Meyer Software
  3095.  
  3096. > > TMON is currently at revision 4.0b2 and you can purchase the beta
  3097. > > (or, if you currently own an older TMON, purchase a subscription).
  3098.  
  3099. could someone tell me where/how to get TMON??
  3100.  
  3101. old faithful programmer that misses tmon.
  3102.  
  3103. (aka bob meyer)
  3104.  
  3105. +++++++++++++++++++++++++++
  3106.  
  3107. From tgritton@sprynet.com (Terry Gritton)
  3108. Date: Wed, 09 Oct 1996 09:53:56 -0700
  3109. Organization: ^self -> (CompSci/MolBiol)
  3110.  
  3111. In article <325A4EA1.5FC6@Resuba.com>, MeyerSoft@Resuba.com wrote:
  3112.  
  3113. >> > TMON is currently at revision 4.0b2 and you can purchase the beta
  3114. >> > (or, if you currently own an older TMON, purchase a subscription).
  3115. >
  3116. >could someone tell me where/how to get TMON??
  3117. >
  3118. http://www.mindvision.com/mvweb/Products/TMON/
  3119. -- 
  3120. -- 
  3121. Terry Gritton        "Glycobiology - the new frontier of biosemiotics"
  3122. tgritton@sprynet.com 
  3123.  
  3124. ---------------------------
  3125.  
  3126. From rliechty@tdsnet.com (MW Ron)
  3127. Subject: [ANN] CodeWarrior IDE 1.7.1  is available for downloading
  3128. Date: Fri, 04 Oct 1996 23:46:52 -0400
  3129. Organization: Metrowerks
  3130.  
  3131. CodeWarrior IDE 1.7.1  is available for downloading
  3132.  
  3133. now or soon from the following URLS
  3134.  
  3135. http://www.metrowerks.com/tools/software/updates/current
  3136. or
  3137. ftp://ftp.metrowerks.com/pub/updates/CW10/   
  3138. European Mirror Site
  3139. ftp://ftp.promo.de/pub/Metrowerks/mirror/updates/CW10/
  3140.  
  3141.  
  3142. =============================
  3143. CodeWarrior IDE Release Notes
  3144. =============================
  3145.  
  3146. Version: 1.7.1
  3147. Date:    October 1, 1996
  3148.  
  3149. This is a minor update to the 1.7 IDE on the CW10 CodeWarrior CD. In
  3150. response to some of the early feedback we've received, this update
  3151. modifies the editor window to remove the gray border on either side of
  3152. the text and slightly reduces the height of the button bar. We expect
  3153. to release a more comprehensive netborne update in late October.
  3154.  
  3155. Please address any questions, feedback, or bug reports to
  3156. support@metrowerks.com.
  3157.  
  3158. -- 
  3159. METROWERKS                   Ron Liechty
  3160. "Software at Work"    MWRon@metrowerks.com
  3161. http://www.metrowerks.com/about/people/rogues.html#mwron
  3162.  
  3163. +++++++++++++++++++++++++++
  3164.  
  3165. From rliechty@tdsnet.com (MW Ron)
  3166. Date: Sat, 05 Oct 1996 10:44:51 -0400
  3167. Organization: Metrowerks
  3168.  
  3169. In article <rliechty-0410962346520001@aumi3-a11.ccm.tds.net>,
  3170. rliechty@tdsnet.com (MW Ron) wrote:
  3171.  
  3172. >CodeWarrior IDE 1.7.1  is available for downloading
  3173.  
  3174. I should mention this is a purely cosmetic update and if you are happy
  3175. with the look now there is no need to download this.
  3176.  
  3177. Ron
  3178.  
  3179. -- 
  3180. METROWERKS                   Ron Liechty
  3181. "Software at Work"    MWRon@metrowerks.com
  3182. http://www.metrowerks.com/about/people/rogues.html#mwron
  3183.  
  3184. +++++++++++++++++++++++++++
  3185.  
  3186. From djembe@sprynet.com (Mike Cohen)
  3187. Date: Sat, 05 Oct 1996 11:54:28 -0600
  3188. Organization: ISIS International
  3189.  
  3190. In article <rliechty-0410962346520001@aumi3-a11.ccm.tds.net>,
  3191. rliechty@tdsnet.com (MW Ron) wrote:
  3192.  
  3193. >This is a minor update to the 1.7 IDE on the CW10 CodeWarrior CD. In
  3194. >response to some of the early feedback we've received, this update
  3195. >modifies the editor window to remove the gray border on either side of
  3196. >the text and slightly reduces the height of the button bar. We expect
  3197. >to release a more comprehensive netborne update in late October.
  3198.  
  3199. ABSOLUTELY PERFECT! I downloaded it yesterday and it's WONDERFUL. The
  3200. windows look & act exactly the way they're supposed to and no longer waste
  3201. space for a useless decorative border.
  3202.  
  3203. Thank you!
  3204.  
  3205.  
  3206. [ Mike Cohen | djembe@pobox.com | http://pobox.com/~djembe (personal) ]
  3207. [            | isis@pobox.com   | http://www.isis-intl.com/ (company) ]
  3208. [     Harry Browne for President - http://www.harrybrowne96.org       ]
  3209.  
  3210.  
  3211. +++++++++++++++++++++++++++
  3212.  
  3213. From carol1@apple.com (Andrew)
  3214. Date: 9 Oct 1996 23:34:31 GMT
  3215. Organization: Apple Computer, Inc.
  3216.  
  3217. In article <bmw-081096075030@h98-150.ccnet.com>, bmw@ccnet.com (Brett
  3218. Wayne) wrote:
  3219.  
  3220. > The patch to the debugger has been available since last Thursday which
  3221. > means you guys had to have known about this for awhile - yet there
  3222. > has been no mention of it in the newsgroup.
  3223.  
  3224. I read such a message late last week (friday or saturday) about
  3225. the bugs and the first patch.  They said a more complete patch
  3226. was due soon.
  3227.  
  3228. Perhaps you missed it amongest all the posts complaining about
  3229. the new IDE look?
  3230.  
  3231. > I'm angry because I just wasted the better part of an afternoon 
  3232. > assuming I had an INIT conflict, or possibly a corrupted system. I 
  3233. > finally gave up and deinstalled CW10 only to find out that my project
  3234. > files were now toast and had to be recovered off the backup disks.
  3235. > All a _huge_ waste of my time.
  3236.  
  3237. CW10 saves your old project files.  It keeps the old project and
  3238. appends the word 'copy' to the file name.  I've often used this
  3239. feature to go back and forth using shared source yet having a
  3240. CW9 and CW10 project.
  3241.  
  3242.  
  3243.  
  3244. > You can be damned sure I won't be so eager to install CW10 again,
  3245. > or for that matter, any future CW releases. I am also seriously 
  3246. > considering not renewing my licenses again until I see a substantive 
  3247. > change in the product.
  3248.  
  3249.  
  3250. Bugs are a fact of life and I don't think I've ever seen a
  3251. devlopemnt environment updated as quickly as MW has done
  3252. with CW.  Metrowerks is to be praised for their reactions to
  3253. customer complaints.
  3254.  
  3255. Oh well...
  3256.  
  3257. -- 
  3258. Andrew Carol               "Could be worse.  Could be raining."
  3259. carol1@apple.com         carol@woz.org
  3260.  
  3261. +++++++++++++++++++++++++++
  3262.  
  3263. From j-guyer@nwu.edu (Jon Guyer)
  3264. Date: Wed, 09 Oct 1996 12:51:16 -0500
  3265. Organization: Northwestern University, Evanston, IL
  3266.  
  3267. In article <bmw-081096075030@h98-150.ccnet.com>, bmw@ccnet.com (Brett
  3268. Wayne) wrote:
  3269.  
  3270. > More importantly...how about acknowledging that there was some serious 
  3271. > problems with the debugger and announcing that a patch exists for that
  3272. > as well?
  3273.  
  3274. You mean like article <rliechty-0410962347350001@aumi3-a11.ccm.tds.net>,
  3275. "[ANN ]MWDebug/MacOS 1.6.3 is available for downloading", which was posted
  3276. Fri, 04 Oct 1996 23:47:35 -0400... forty-three seconds after the article
  3277. you just replied to?
  3278.  
  3279. > The patch to the debugger has been available since last Thursday which
  3280. > means you guys had to have known about this for awhile - yet there
  3281. > has been no mention of it in the newsgroup.
  3282.  
  3283. What newsgroup would that be? comp.sys.mac.programmer had threads running
  3284. back at least a week prior to the patch release, discussing problems with
  3285. the debugger, the fact that MW knew about it, and that they'd get the fix
  3286. out as soon as possible. A beta was available a few days before if you
  3287. contacted support directly.
  3288.  
  3289. Other than not having the bug in the first place, I don't see how MW could
  3290. have handled this any better. If you really didn't see any of this, your
  3291. beef should be with your ISP, not MW.
  3292.  
  3293. -- 
  3294. Jonathan E. Guyer
  3295.  
  3296. Join LMESOTENPAMSNFZ 
  3297.  
  3298. ("Let's make everything south of the 89th parallel 
  3299.   a Microsoft no-fly-zone" AKA "Give Bill the Pole!")
  3300.  
  3301. +++++++++++++++++++++++++++
  3302.  
  3303. From dont_send_me_junk_mail@sprynet.cxm (Mike Cohen)
  3304. Date: Wed, 09 Oct 1996 11:13:18 -0600
  3305. Organization: ISIS International
  3306.  
  3307. In article <bmw-081096075030@h98-150.ccnet.com>,
  3308. bmw@ccnet.com (Brett Wayne) wrote:
  3309.  
  3310. >The patch to the debugger has been available since last Thursday which
  3311. >means you guys had to have known about this for awhile - yet there
  3312. >has been no mention of it in the newsgroup.
  3313.  
  3314. It *was* mentioned here, with a complete description of the bugs it fixed.
  3315. You probably missed that one because it didn't inspire the flurry of
  3316. follow-ups this message did.
  3317.  
  3318.  
  3319. [Mike Cohen | djembe@pobox.com | http://pobox.com/~djembe (personal)]
  3320. [           | isis@pobox.com   | http://www.isis-intl.com/ (company)]
  3321. [     Harry Browne for President - http://www.harrybrowne96.org     ]
  3322.  
  3323. *** JUNK MAIL NOT ACCEPTED - I CHANGED MY RETURN ADDRESS SO SPAMMERS
  3324. *** CAN'T GET MY EMAIL ADDRESS FROM MY POSTS. IF YOU WISH TO REPY,
  3325. *** COPY MY EMAIL ADDRESS FROM MY SIGNATURE
  3326.  
  3327. ---------------------------
  3328.  
  3329. From btoback@netcom.com (Bruce Toback)
  3330. Subject: [Q] Reliable notification from completion routine
  3331. Date: Sun, 6 Oct 1996 03:36:20 GMT
  3332. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  3333.  
  3334. Hi all,
  3335. Try as I might, I can't seem to find the answer to this:
  3336.  
  3337. I'm using Device Manager calls -- MacTCP in this case -- with asynchronous
  3338. completion routines. According to the documentation, these routines 
  3339. execute at interrupt time, so they can't do anything that might 
  3340. move memory, nor can they rely on access to the application's globals.
  3341. Fair enough.
  3342.  
  3343. But how do I reliably notify the application of an IO completion and 
  3344. schedule execution? If I call WakeUpProcess(), I might call just
  3345. after the application has checked for completions but before it's
  3346. gone to sleep. Posting an event would work, but the docs say
  3347. not to post anything except mouse-up, mouse-down, key-up, key-down
  3348. and disc-inserted events. And there appears to be no way for the 
  3349. application to do a "check-this-and-go-to-sleep" as an atomic operation.
  3350. The only thing I can think of is posting a key-up event with an illegal
  3351. parameter, but this seems like a real kludge. 
  3352.  
  3353. Is there some "official" way to do this? Or do I kludge up something with
  3354. PostEvent?
  3355.  
  3356. Please email replies if possible, since my news access is sporadic.
  3357.  
  3358. Thanks,
  3359. -- Bruce Toback
  3360. btoback@optc.com
  3361.  
  3362.  
  3363.  
  3364. +++++++++++++++++++++++++++
  3365.  
  3366. From chris.newman@innosoft.com (Chris Newman)
  3367. Date: Sun, 06 Oct 1996 01:18:43 -0700
  3368. Organization: Altopia Corp. - Affordable Usenet Access - http://www.alt.net
  3369.  
  3370. In article <btobackDyu4oL.7no@netcom.com>, btoback@netcom.com (Bruce
  3371. Toback) wrote:
  3372. >I'm using Device Manager calls -- MacTCP in this case -- with asynchronous
  3373. >completion routines. According to the documentation, these routines 
  3374. >execute at interrupt time, so they can't do anything that might 
  3375. >move memory, nor can they rely on access to the application's globals.
  3376. >Fair enough.
  3377. >
  3378. >But how do I reliably notify the application of an IO completion and 
  3379. >schedule execution? If I call WakeUpProcess(), I might call just
  3380. >after the application has checked for completions but before it's
  3381. >gone to sleep. Posting an event would work, but the docs say
  3382. >not to post anything except mouse-up, mouse-down, key-up, key-down
  3383. >and disc-inserted events. And there appears to be no way for the 
  3384. >application to do a "check-this-and-go-to-sleep" as an atomic operation.
  3385. >The only thing I can think of is posting a key-up event with an illegal
  3386. >parameter, but this seems like a real kludge. 
  3387. >
  3388. >Is there some "official" way to do this? Or do I kludge up something with
  3389. >PostEvent?
  3390.  
  3391. The best way that I know of to do this is to have a single flag (e.g.
  3392. iotaskready) which you check right before your WaitNextEvent() call, and if
  3393. set, you set the timeout to immediate.  You can access this flag through
  3394. the userDataPtr to avoid globals.  Granted this leaves a tiny window
  3395. between the flag check and the WNE(), but there's no way around this and it
  3396. doesn't seem to be a problem in practice.  One friend of mine once asked
  3397. about this through Apple's offical tech support and they never understood
  3398. the question properly.
  3399.  
  3400. Feel free to check out the source code for NiftyTelnet at:
  3401.       <http://andrew2.andrew.cmu.edu/dist/niftytelnet.html>
  3402.  
  3403. +++++++++++++++++++++++++++
  3404.  
  3405. From trumbull@cs.yale.edu (Ben Trumbull)
  3406. Date: Sun, 06 Oct 1996 21:39:26 -0400
  3407. Organization: Yale University
  3408.  
  3409. In article <btobackDyu4oL.7no@netcom.com>, btoback@netcom.com (Bruce
  3410. Toback) wrote:
  3411.  
  3412.  
  3413. > But how do I reliably notify the application of an IO completion and 
  3414. > schedule execution? If I call WakeUpProcess(), I might call just
  3415. > after the application has checked for completions but before it's
  3416. > gone to sleep. Posting an event would work, but the docs say
  3417. > not to post anything except mouse-up, mouse-down, key-up, key-down
  3418. > and disc-inserted events. And there appears to be no way for the 
  3419. > application to do a "check-this-and-go-to-sleep" as an atomic operation.
  3420. > The only thing I can think of is posting a key-up event with an illegal
  3421. > parameter, but this seems like a real kludge. 
  3422. > Is there some "official" way to do this? Or do I kludge up something with
  3423. > PostEvent?
  3424.  
  3425. There is an example with sample code for using the Thread Manager (and
  3426. threads ;-) to do just this.  If you don't want to use threads, you could
  3427. just have your app loop around a WaitNextEvent with a long sleep
  3428. paramater.  Inside the loop your app could check if your completion
  3429. routine changed the value of some global variable or whatever.
  3430.  
  3431. terminally curious,
  3432.  
  3433. Ben
  3434. ___________________________________________________________________
  3435. Benjamin Trumbull
  3436. trumbull@cs.yale.edu       
  3437. Yale University 
  3438.        You can't be in hell; you can still read your e-mail
  3439.  
  3440. +++++++++++++++++++++++++++
  3441.  
  3442. From jumplong@aol.com (Jump Long)
  3443. Date: 10 Oct 1996 01:07:13 -0400
  3444. Organization: America Online, Inc. (1-800-827-6364)
  3445.  
  3446. Bruce Toback wrote:
  3447. >>I'm using Device Manager calls -- MacTCP in this case -- with
  3448. asynchronous
  3449. >>completion routines. According to the documentation, these routines 
  3450. >>execute at interrupt time, so they can't do anything that might 
  3451. >>move memory, nor can they rely on access to the application's globals.
  3452. >>Fair enough.
  3453. >>
  3454. >>But how do I reliably notify the application of an IO completion and 
  3455. >>schedule execution? If I call WakeUpProcess(), I might call just
  3456. >>after the application has checked for completions but before it's
  3457. >>gone to sleep. Posting an event would work, but the docs say
  3458. >>not to post anything except mouse-up, mouse-down, key-up, key-down
  3459. >>and disc-inserted events. And there appears to be no way for the 
  3460. >>application to do a "check-this-and-go-to-sleep" as an atomic operation.
  3461. >>The only thing I can think of is posting a key-up event with an illegal
  3462. >>parameter, but this seems like a real kludge. 
  3463. >>
  3464. >>Is there some "official" way to do this? Or do I kludge up something
  3465. with
  3466. >>PostEvent?
  3467.  
  3468. Chris Newman wrote:
  3469. >The best way that I know of to do this is to have a single flag (e.g.
  3470. >iotaskready) which you check right before your WaitNextEvent() call, and
  3471. if
  3472. >set, you set the timeout to immediate.  You can access this flag through
  3473. >the userDataPtr to avoid globals.  Granted this leaves a tiny window
  3474. >between the flag check and the WNE(), but there's no way around this and
  3475. it
  3476. >doesn't seem to be a problem in practice.  One friend of mine once asked
  3477. >about this through Apple's offical tech support and they never understood
  3478. >the question properly.
  3479.  
  3480. They obviously didn't ask the right question, because I answered this
  3481. question correctly many times during the time I worked in DTS. Here's what
  3482. I told developers who asked:
  3483.  
  3484. Before System 7.1.2, WakeUpProcess doesn't do anything if the process
  3485. being targeted is the active process and is executing the code in its
  3486. event loop when WakeUpProcess is called. There are a three things you can
  3487. do to work around this problem.
  3488.  
  3489. First, in your interrupt time code, change value of the sleep parameter
  3490. variable your application passes to WaitNextEvent to 0. That way, your
  3491. next call to WaitNextEvent will give up as little time as possible.
  3492.  
  3493. Second, check the sleep parameter variable just before you call
  3494. WaitNextEvent and if it is zero (meaning your interrupt time code has
  3495. changed it), recheck the data you're expecting from the interrupt time
  3496. code. That should help to prevent WaitNextEvent from being called when you
  3497. don't need it to be called.
  3498.  
  3499. Third, for the sleep value you normally pass to WaitNextEvent while you
  3500. have a connection open, use a value that's small enough (for example 15 -
  3501. 30 ticks) so that even if you hit the very small race window left by the
  3502. first two suggestions above, your overall performance won't be affected
  3503. very much.
  3504.  
  3505. With System 7.1.2 and later, the WakeUpProcess request is noted by the
  3506. Process Manager and the next time your application calls WaitNextEvent,
  3507. the Process Manager ignores the sleep value and handles the request as if
  3508. you'd passed 0.
  3509.  
  3510. - Jim Luther (former Apple Developer Technical Support engineer and proud
  3511. of it!)
  3512.  
  3513.  
  3514. ---------------------------
  3515.  
  3516. From Domenico_Celli@mindlink.bc.ca
  3517. Subject: is MacOS multiplatform?
  3518. Date: Wed, 9 Oct 1996 22:10:42 GMT
  3519. Organization: MIND LINK! - British Columbia, Canada
  3520.  
  3521. I'm wondering if any of the versions of MacOS are multiplatform?
  3522. If so, can any of the multi-platform versions of MacOS run on an Intel CPU?
  3523. thanx
  3524.  
  3525. /-----------------------------------------------------------------------\
  3526. | "a Union should be a way to store more than one memory type in the    |
  3527. | same merory location, not a way for filthy employees to squeeze every |
  3528. | last penny out of their employer"                                     |
  3529. +-----------------------------------------------------------------------+
  3530. | Michael Celli                                |
  3531. |            email: Domenico_Celli@mindlink.bc.ca            |
  3532. \-----------------------------------------------------------------------/
  3533.  
  3534. +++++++++++++++++++++++++++
  3535.  
  3536. From Online@MacTech.com ( nick.c @MT )
  3537. Date: Thu, 10 Oct 1996 15:24:34 -0700
  3538. Organization: MacTech Magazine
  3539.  
  3540.  
  3541.  
  3542. Domenico_Celli@mindlink.bc.ca wrote:
  3543.  
  3544. >I'm wondering if any of the versions of MacOS are multiplatform?
  3545. >If so, can any of the multi-platform versions of MacOS run on an Intel CPU?
  3546.  
  3547.  
  3548.    Not really.  But there is a port that allows you to run a MacOS
  3549.      (sort of) on a UNIX box.  'Course there are Window's emulators
  3550.      for the Mac, so you can run Windows apps on a Mac.
  3551.  
  3552.  
  3553.  
  3554.  
  3555. ____Nicholas C. DeMello, Ph.D.___________________________________________
  3556. "MacTech Online"--MacTech Magazine, for Mac OS Programmers and Developers
  3557.      http://www.MacTech.com/
  3558.                                         _/   _/  _/  _/_/_/   _/   _/  
  3559.    Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  3560.      MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  3561.         http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  3562.  
  3563. +++++++++++++++++++++++++++
  3564.  
  3565. From jordanz@altura.com (Jordan Zimmerman)
  3566. Date: Thu, 10 Oct 1996 19:08:34 -0800
  3567. Organization: Altura Software, Inc.
  3568.  
  3569. In article <Online-1010961524340001@news.ucla.edu>, Online@MacTech.com (
  3570. nick.c @MT ) wrote:
  3571.  
  3572. > Domenico_Celli@mindlink.bc.ca wrote:
  3573. > >I'm wondering if any of the versions of MacOS are multiplatform?
  3574. > >If so, can any of the multi-platform versions of MacOS run on an Intel CPU?
  3575.  
  3576. Ardi software (http://www.ardi.com) has something called "Executor" that
  3577. allows some Mac binaries to run on Windows.
  3578.  
  3579. -- 
  3580. Jordan Zimmerman
  3581. Altura Software, Inc.
  3582. home page: http://www.altura.com/jordanz
  3583.  
  3584. Harry Browne for President!    
  3585. http://www.harrybrowne96.org   1 (800) 682 1776
  3586. Stop the Browne Out! Let Harry Browne debate!     http://www.twr.com/STBO
  3587.  
  3588. +++++++++++++++++++++++++++
  3589.  
  3590. From me@solaris1.UUCP (Tommy K. Hwang)
  3591. Date: 12 Oct 1996 22:30:35 GMT
  3592. Organization: Internet Solutions Inc.
  3593.  
  3594. In article <jordanz-1010961908490001@204.147.232.52>,
  3595. Jordan Zimmerman <jordanz@altura.com> wrote:
  3596. >> >I'm wondering if any of the versions of MacOS are multiplatform?
  3597. >> >If so, can any of the multi-platform versions of MacOS run on an Intel CPU?
  3598. >
  3599. >Ardi software (http://www.ardi.com) has something called "Executor" that
  3600. >allows some Mac binaries to run on Windows.
  3601.  
  3602.     I personally had more problems with Executor than any other emulations
  3603. I ran (not many, I can assure you).  If you are not in a hurry, then a PPC
  3604. system that is PPCP compatible will be your best bet.  Unfortunately, those
  3605. systems are not out yet.  Good and bad since by the time the PPCP systems
  3606. are out, your Intel box will be 'out of date' anyway.  MacOS, as it exists 
  3607. today, is NOT really multi-platform eventhough there are rumors of a beta 
  3608. version of the PPCP MacOS floating around.
  3609.  
  3610.                                 -ME
  3611.  
  3612. ---------------------------
  3613.  
  3614. From nakaaran@micronet.fr (A. Bertrand)
  3615. Subject: parent class method called instead of overloaded one!
  3616. Date: 9 Oct 1996 19:31:37 GMT
  3617. Organization: Francenet -- Paris, France
  3618.  
  3619. I have the parent class defined as below :
  3620. class TDocument
  3621. { public :
  3622.    TDocument();
  3623.    virtual void DoAutoKey();
  3624.    virtual void DoButton();
  3625.    virtual void DoChgInField();
  3626.    virtual void DoCmd(short theCmd);
  3627.    virtual void DoClick();
  3628. ....
  3629. }
  3630. a derived class defined as below :
  3631. class TBezierSectionDocument:public TDocument
  3632. {  public:
  3633.    TBezierSectionDocument();
  3634.    virtual void DoCmd(short theCmd);
  3635.    virtual void SetBasicData(void *Ptr);
  3636. ....
  3637.    protected:
  3638. some data
  3639.  
  3640. }
  3641. But when I try to call the overloaded DoCmd(short theCmd) I always get the
  3642. parent class mÈthod. I really can't find out where I'm wrong.
  3643. The  begginnning of the constructor is like that :
  3644. TBezierSectionDocument::TBezierSectionDocument():TDocument()
  3645. {  Str255 WindowTitle;
  3646.    GetIndString(WindowTitle,rCurveDialStringID,rCurveDialTitle);  
  3647.    p2cstr(WindowTitle);
  3648.    fMainWindow = gMyApp->DoNewWindow(tCurveDialWind,(char*)WindowTitle,this);
  3649.         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^®
  3650. And I do get the right window so the good constructor is called.
  3651. I'm new to C++ but not to object programming. I'm pretty sure that with
  3652. object pascal I would get the overloaded method!!!
  3653. I triied to trace with the debugger and it seems that the descendant class
  3654. is damaged by the compiler because though I initialize  its extra data in
  3655. the constructor, they appear randomly modified. This modification seems to
  3656. be quite fast because if I do the following:
  3657.  
  3658. TBezierSectionDocument *theTBSDocument;
  3659.     switch (theDocType)
  3660.      {  case tSectionBezierDoc   :  
  3661.          {  theTBSDocument=  new  TBezierSectionDocument();
  3662.             theTBSDocument->DoCmd(0);
  3663. I do get the parent method .
  3664. I have other class build and inherited a la object pascal and they do work well.
  3665. I use ToolsPlus. Already heard of such problems incurring from it?
  3666.  
  3667. Any help would be _greatly_ appreciated
  3668.  
  3669.  
  3670. TIA
  3671.  
  3672. -- 
  3673. Alain Bertrand
  3674. nakaaran@micronet.fr
  3675.  
  3676. +++++++++++++++++++++++++++
  3677.  
  3678. From bwade@qualia.com (Bretton Wade)
  3679. Date: Thu, 10 Oct 1996 11:49:26 -0400
  3680. Organization: qualia, inc.
  3681.  
  3682. In article <nakaaran-0910962038240001@pppa226.francenet.fr>,
  3683. nakaaran@micronet.fr (A. Bertrand) wrote:
  3684.  
  3685. # But when I try to call the overloaded DoCmd(short theCmd) I always get the
  3686. # parent class mÈthod. I really can't find out where I'm wrong.
  3687.  
  3688. Sounds like you are calling DoCmd from the base class constructor. If so,
  3689. the behavior you are getting is correct C++. While the base class is
  3690. constructing, the object type is that of the base class, thus any virtual
  3691. functions called will belong to the base class, and not any inherited
  3692. classes. After construction is complete, then any call to the virtual
  3693. function will yield the inherited class version.
  3694.  
  3695. If you really need to call DoCmd during initialization, the usual practice
  3696. is to add a member function called 'initialize', which you call after the
  3697. object is constructed.
  3698.  
  3699. -- 
  3700. Bretton Wade (bwade@qualia.com)
  3701. http://www.qualia.com/~bwade/
  3702.  
  3703. +++++++++++++++++++++++++++
  3704.  
  3705. From nakaaran@micronet.fr (A. Bertrand)
  3706. Date: 10 Oct 1996 23:02:19 GMT
  3707. Organization: Francenet -- Paris, France
  3708.  
  3709. In article (Dans l'article) <bwade-1010961149260001@frost.qualia.com>,
  3710. bwade@qualia.com (Bretton Wade) wrote (Ècrivait)†:
  3711.  
  3712. > In article <nakaaran-0910962038240001@pppa226.francenet.fr>,
  3713. > nakaaran@micronet.fr (A. Bertrand) wrote:
  3714. > # But when I try to call the overloaded DoCmd(short theCmd) I always get the
  3715. > # parent class mÈthod. I really can't find out where I'm wrong.
  3716. > Sounds like you are calling DoCmd from the base class constructor. If so,
  3717. > the behavior you are getting is correct C++. While the base class is
  3718. > constructing, the object type is that of the base class, thus any virtual
  3719. > functions called will belong to the base class, and not any inherited
  3720. > classes. 
  3721.  
  3722. Hi,
  3723.  
  3724. Thanks a lot for your help, but the problem seems to come from elsewhere. 
  3725.  
  3726. After constructing my object by
  3727. theTBSDocument= new TBezierSectionDocument();
  3728. I can call
  3729. theTBSDocument->Initialize() which is a method that doesn't belong to the
  3730. parent class. I get it.
  3731. If I call 
  3732. theTBSDocument-> DoCmd( theCmd) I get the parent class method.
  3733.  
  3734. It seems like the jump table for this object is wrongly built. So why this
  3735. one and not the other ? I changed the name of the class but no succes.
  3736.  
  3737. Regards,
  3738.  
  3739. -- 
  3740. Alain Bertrand
  3741. nakaaran@micronet.fr
  3742. Ce matin est venu mon medecin. Il s'appelle Werner mais c'est un Russe.Qu'y a-t-il d'etonnant a cela? Je connaissais un Ivanov qui etait allemand. (Lermontov)
  3743.  
  3744. ---------------------------
  3745.  
  3746. End of C.S.M.P. Digest
  3747. **********************
  3748.  
  3749.